经验总结
TaidyPanda
iOS开发者一枚
展开
-
iOS获取缓存大小
通常用于删除缓存的时,计算缓存大小//单个文件的大小- (long long) fileSizeAtPath:(NSString*) filePath{ NSFileManager* manager = [NSFileManager defaultManager]; if ([manager fileExistsAtPath:filePath]){转载 2015-05-08 10:19:12 · 841 阅读 · 0 评论 -
UIPopoverPresentationController不能覆盖导航栏点击事件
UIPopoverPresentationController不能覆盖导航栏点击事件当我们在用UIPopoverPresentationController做一些突出的展示效果时,很有可能是通过导航栏上的按钮进行展示,然鹅,这会带来一个问题: UIPopoverPresentationController不会覆盖到导航栏上.也就是说,这UIPopoverPresentationController原创 2017-03-29 13:29:22 · 1136 阅读 · 0 评论 -
iOS自定义相机实现拍照和连拍
我们常用的拍照模块,大部分代码都是一样的,甚至都不用改就可以直接拖进项目里面使用.但是这仅仅是简单的相机拍照功能,如果我们希望使用更多的功能,比如说连拍等,就需要多一点处理.我们还是使用UIImagePickerController self.picker = [[UIImagePickerController alloc] init]; self.picker.delegate =原创 2016-11-09 16:23:16 · 3046 阅读 · 0 评论 -
iOS崩溃日志符号化
iOS日志符号化是iOS工程师的必备技能,对于已经上线的崩溃,符号化日志能快速定位问题所在.现在Xcode已经对符号化的支持做到很友好了,特此记录一下.首先需要强调的是,我们最好要保存每次上传的archive包,通过Xcode-window-organizer,可以看到我们之前上传的内容,只要不删除就好了.然后连上手机,在Xcode-window-devices里面,选中设备,右边会有view de原创 2016-10-26 13:08:45 · 472 阅读 · 0 评论 -
UISearchBar会有灰色背景一闪
self.searchBar.backgroundImage = [[UIImage alloc]init];在界面跳转过程中搜索条后面会出现一个灰色的view 虽然很快就会消失,但是还是很明显。出现这个原因是因为sarchbar本身带有一个backgeroundImage 这个本身是灰色的 我们可以初始化一个空的image来取代它。原创 2016-04-09 20:37:46 · 554 阅读 · 0 评论 -
Xcode6添加pch(Precompile Prefix Header)文件
为什么xcode6没有自动创建pch文件呢?简单地看:我们在写项目的时候,大部分宏定义,头文件导入都在这里,Xcode6去掉Precompile Prefix Header的主要原因可能在于Prefix Header大大的增加了Build的时间。没有了Prefix Header之后就要通过手动@import来手动导入头文件了,在失去了编程便利性的同时也降低了Build的时间。 具体转载 2015-05-08 09:53:01 · 437 阅读 · 0 评论 -
iOS scrollview不能滑动的几个原因及解决方法
最常见的原因是 :contentSize 这个属性,比uiscrollview的frame要小, 无需滚动, 自然就滚动不了。 scrollenabled 这个属性,标识着是否允许滚动,要言设成yes 另外还有一些比较隐蔽的原因:如果这个scrollView是在IB里面生成的话,还得手动设置它的contentSize,并且不能在initWithNibName:bundle:里面设置,因为:The原创 2016-01-05 10:14:58 · 18102 阅读 · 0 评论 -
iOS数组去重总结
一般情况下我们都要对数组进行去重整理,我总结了以下几种方法,废话不多说,一一分析: 一:利用字典 NSArray *arr = @[@"qq",@"ww",@"qq"]; NSMutableDictionary *dict = [NSMutableDictionary dictionary]; for (NSString *str in arr) { [dic原创 2015-10-09 15:41:31 · 536 阅读 · 0 评论 -
iOS本地通知&定时通知
本地通知: UILocalNotification*notification = [[UILocalNotification alloc] init]; if (nil != notification) { // 设置弹出通知的时间 NSDateFormatter * dateFormatter = [[NSDateFormatter alloc] init]; [dateFor原创 2015-10-09 16:12:54 · 2083 阅读 · 0 评论 -
遍历字典遍历的是key而不是value!!!
最近项目中需要遍历字典筛选有用信息,在遍历时遇到一些崩溃,猛然醒悟,虽不值一提,可也是个知识点,记录一下. NSDictionary * dic = @{@"student":@[@"jim"], @"score":@[@"80"], @"ages":@[@"18", @"20", @"24"]}; for (id string in dic) { NSLog(@"s原创 2015-07-02 15:10:27 · 2760 阅读 · 0 评论 -
iOS开发之统计xcode代码行数
用终端进入所在的目录,find . -name "*.m" -or -name "*.h" -or -name "*.xib" -or -name "*.c" |xargs grep -v "^$"|wc -l不包括空行,包括了注释转载 2015-05-21 16:47:15 · 617 阅读 · 0 评论 -
JsonKit简单使用
cocoa 下json开源的类库有很多,其中JSONKit库是非常简单易用而且效率又比较高的。想要使用JSONKit库来解析json文件,只需要下载JSONKit.h 和JSONKit.m添加到工程中(下载链接);然后加入libz.dylib即可解析代码举例: #import "JSONKit.h"//假设 strJson 是网络上接收到的 json 字符串,NSSt转载 2015-05-08 10:10:21 · 443 阅读 · 0 评论 -
iOS中block的详解weakSelf、strongSelf <转自唐巧>
1我们知道,在使用 block 的时候,为了避免产生循环引用,通常需要使用 weakSelf 与 strongSelf,写下面这样的代码:__weak typeof(self) weakSelf = self;[self doSomeBlockJob:^{ __strong typeof(weakSelf) strongSelf = weakSelf; if (strongSelf转载 2017-04-05 15:41:24 · 17983 阅读 · 0 评论