- 博客(26)
- 资源 (1)
- 收藏
- 关注
原创 冒泡排序(Objective-C实现)
冒泡排序实现的基本方案:两个循环。在基本方案上做优化:方案1、在基本方案的基础上,增加子循环无交换时,排序结束的逻辑;方案2、在方案1的基础上,增加子循环中最小值交换到首位的逻辑;方案3、在基本方案的基础上,增加子循环中最小值交换到首位的逻辑,增加遍历到上次子循环最后一次交换时的位置的逻辑;优化方案3的实现代码如下:// 方案3、在基本方案的基础上,增加子循环中最小值交换...
2019-03-07 17:05:38
307
转载 OmniGraffle 7 Mac 注册码(仅做记录)
OmniGraffle 7 Mac 注册码账号:Appked密码:MFWG-GHEB-HYTW-CGHT-CSXU-QCNC-SXU
2018-10-24 13:56:47
8388
4
原创 Xcode正则表达式查找并替换文本
Xcode开发技巧Xcode正则表达式查找并替换文本需求:我要将text1(@"hello")的文本替换为text2(@"hello", @"world")的文本技巧:在Xcode中采用正则表达式查找并替换,正则表达式如下:find: text1\(@\"(.*)\"\)replace: text2(@"$1", nil) Replace &..
2018-09-14 17:23:13
888
原创 Instruments检测内存泄漏Leaks打不开APP
问题:想通过Instrument中的Leaks检测APP的内存泄漏,打开Leaks之后,按下Record,APP打开启动页之后闪退。背景:APP在创建时Include Unit Tests和Include UI Tests没有勾选,或者说是APP创建之后删除了Unit Tests和UI Tests。解决方案:Edit Scheme -> Profile -> ...
2018-09-07 11:58:49
3425
原创 iOS设计规范
APPIcon的尺寸(图标):40X4080X80120X120180X18072X72144X14476X76152X152167X16757X57114X1141024X1024LaunchImage的尺寸(启动页):640X1136750X13341125X24361536X2048640X9601242X2208APP Store截图:11...
2018-07-17 10:35:59
1307
原创 iOS系统版本占比查询
查询iOS系统占比:1、苹果官网查询:https://developer.apple.com/support/app-store/2、第二种查询方式:https://david-smith.org/iosversionstats/查询结果仅供参考!!
2018-06-07 11:32:21
9443
原创 Git忽略已经提交的文件
注意: .gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。正确的做法是在每个clone下来的仓库中手动设置不要检查特定文件的更改情况。git update-index --assume-unchanged PATH 在PATH处输入要忽略的文件。...
2018-05-17 17:19:44
177
原创 iOS在同一个Https目录下放不同ID的包导致的下载问题
为了便于其他人员体验最新完成的功能,会不定时的把功能完备的安装包上传到Https目录下。在该目录,配置了这个安装包的ID、icon等信息。为了产品运营的需要,在操作的过程中会走一些捷径:比如说把这个安装包在包装成另一个安装包,也就是所谓的马甲包。马甲包也有被下载的需求,为了图省事,马甲包也放在了同一目录下。在做这个偷懒的决定之前,隐约觉得会出问题,果不其然,问题确实出现了,刚碰到这个问题时觉得
2017-12-19 17:10:35
2462
原创 iOS设置状态栏颜色
状态栏默认(黑色)风格:UIStatusBarStyleDefault状态栏白色风格:UIStatusBarStyleLightContent一、在info.plist中,将View controller-based status bar appearance设为NO状态栏字体的颜色只由下面的属性设定:// default is UIStatusBarStyleDefault[UIAp
2016-12-14 14:00:49
4235
原创 常用的Git命令
最近项目使用Git管理,本文记录常用的Git命令。cd到存放源代码的目录1. git clone ***** // clone源代码2. git pull // 更新源代码3. git status // 查看源文件的状态(是否增删改)4. git add .(filename) // 将修改增加5. git commit -m "*****" // 预提交文件的
2016-12-08 16:59:49
352
原创 Jenkins通过Xcodebuild命令打包
平常的开发过程中,提测时的构建ipa包浪费的时间很多。为了缩减这个时间,提高工作效率,在空时研究了通过脚本打包的方法。现在把这个过程中碰到的沟沟坎坎记录下来,以供不时之需。以下脚本都是在Jenkins执行,Jenkins如何配置这里不做记录。若直接在MAC的终端执行,有些代码则无必要。这次有3个项目需要使用脚本打包的功能,具体情况又大同小异。为了更详细的说明,分列如下:一、
2016-11-28 17:47:28
3619
原创 WKWebView学习过程中碰到的问题
使用WKWebView替换UIWebView的过程是坎坷的,是有很多坑的。只怪自己学识浅薄,解决问题能力不足,现在还有好几个大坑没有填。导致项目不得不使用UIWebView继续应付(我倒没觉得UIWebView没什么不好,稳定坑少,性能问题用户无感知,可忽略)。列举WKWebView使用过程中未解决的问题:1、Pop回历史页面时,WKWebView的URL为nil,权宜之计采用重新加载
2016-09-08 17:06:14
632
原创 GMT时间和普通时间互转
在开发过程中,经常会有时间比较的需求。普通的时间格式比较很简单,GMT时间格式刚接触时对于我来说比较头疼。因此记录以下代码片段,仅供参考。
2016-09-06 10:06:08
2372
转载 NSDateFormatter的格式串详解—将GMT格式转为NSDate
iPhone开发中, Object-C中的NSDate是一个很有趣的类型,但在 转换成字符串的类型的时候还是稍有些麻烦,还得带一个NSDateFormatter的类型.但官方文档上对NSDateFormatter的格式串的讲解却很简略( 或许有,我没找到)。现有幸找到一份比较全的文档, 转载过来共享: a: AM/PM (上午/下午)A: 0~86399999 (一天的第A
2016-08-17 18:44:58
1816
原创 dyld:Library not loaded. Reason:no suitable image found
配置证书后,在iPhone上运行(模拟器运行没有问题),出现故障如下:dyld: Library not loaded: @rpath/libswiftAVFoundation.dylib Referenced from: /var/mobile/Containers/Bundle/Application/0C3695BA-B047-4B87-A8F0-47F9ADF1B087/Graph
2016-06-23 14:58:47
1074
原创 CocoaPods安装过程
在iOS项目中使用第三方类库可以说是非常常见的事,但是要正确地配置他们有时候是非常繁琐的事情,幸运的是CocoaPods是一个很好的解决方案。什么是CocoaPodsCocoaPods是OS X和iOS下的一个第三类库管理工具,通过CocoaPods工具我们可以为项目添加被称为“Pods”的依赖库(这些类库必须是CocoaPods本身所支持的),并且可以轻松管理其版本。Cocoa...
2016-03-10 20:36:57
379
原创 Cornerstone “An error occurred and the operation could not be completed”
在Cornerstone查看提交的log时,经常会有“An error occurred and the operation could not be completed”的错误提示。针对这个提示,我们应该怎么把这个问题解决以保证Cornerstone的正常使用呢?1、Quit Cornerstone;2、Open Finder:~/Library/Caches/Cornersto
2016-02-29 14:35:36
8750
转载 secureCRT for mac破解
secureCRT的下载地址:http://macabc.com/detail.htm?app_id=241.下载附件中的破解文件 http://pan.baidu.com/s/1rCvcC2.在终端执行命令 sudo perl ~/Downloads/securecrt_mac_crack.pl /Applications/SecureCRT.app/Content
2015-07-30 20:58:22
935
原创 iOS中的@class
1.import会包含这个类的所有信息,包括实体变量和方法;而@class只是告诉编译器,其后面声明的名称是类的名称,至于这些类是如何定义的,暂时不用考虑,后面会再告诉你;2.在头文件中,一般只需要知道被引用的类的名称就可以了。不需要知道其内部的实体变量和方法,所以在头文件中一般使用@class来声明这个名称是类的名称。而在实现类里面,因为会用到这个引用类的内部的实体变量和方法,所以需要使
2015-06-25 20:05:11
621
原创 对weak的理解
weak和assign的区别:weak声明的变量在桟中会自动清空,assign声明的变量可能不会被清空,会导致野指针错误控件声明用weak还是strong?1、控件用weak声明,因为Controller并不直接“拥有”控件,控件由它的父view“拥有”。使用weak关键字可以不增加控件引用计数,确保控件与父view有相同的生命周期。控件在被addSubview后,相当于控
2015-03-11 00:14:21
816
转载 iOS中堆和栈的区别
管理方式:对于栈来讲,是由编译器自动管理,无需我们手工控制;对于堆来说,释放工作由程序员控制,容易产生memory leak。 申请大小:栈:在Windows下,栈是向低地址扩展的数据结构,是一块连续的内存的区域。这句话的意思是栈顶的地址和栈的最大容量是系统预先规定好的,在WINDOWS下,栈的大小是2M(也有的说是1M,总之是一个编译时就确定的常数),如果申请的空间超过栈的剩
2015-03-10 17:19:52
452
转载 你必须非常努力,才能看起来毫不费力
你必须非常努力,才能看起来毫不费力 你身边有一群“他们”,他们努力工作,尽情享乐。或许你只看到了后者,但事实是:你必须非常努力,才能看起来毫不费力。收起你的懒散,吃苦,享福! 有一群人,他们积极自律,每天按计划行事,有条不紊;他们不张扬,把自己当成最卑微的小草,等待着人生开出花朵的那天。 他们早晨5点多起来健身,你在睡觉;7点开始享受丰盛的早餐,蛋白质维生
2015-03-05 18:29:17
427
原创 将NSData转为NSString的2种方法
将NSData转为NSString的2种方法1、NSString *token = [[deviceTokendescription] stringByTrimmingCharactersInSet:[NSCharacterSetcharacterSetWithCharactersInString:@"]]; NSString *token
2014-08-28 11:05:41
1564
原创 2014开年—开博记
加入iOS开发的阵营已经是第三个年头了,早已经过来菜鸟的年龄,对于自己在日常的工作和学习中的一些心得体会遗忘的比较快,很早就想着要借助BLOG平台记录下来。但是一直没有付诸行动,今天是马年上班的第一天,新年新气象,开笔博客,不记录学习笔记,仅当开头。
2014-02-10 14:18:19
930
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人