转载:多年iOS开发经验总结

转载: 总结了几个月的东西终于能和大家分享了,不多说,直接看东西! 1、禁止手机睡眠 [UIApplication sharedApplication].idleTimerDisabled = YES; 2、隐藏某行cell - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { // 如果是你需要隐藏的那一行,返回高度为0 if(indexPath.row == YouWantToHideRow) return 0; return 44; } // 然后再你需要隐藏cell的时候调用 [self.tableView beginUpdates]; [self.tableView endUpdates]; 3、禁用button高亮 button.adjustsImageWhenHighlighted = NO; 或者在创建的时候 UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; 4、tableview遇到这种报错failed to obtain a cell from its dataSource

是因为你的cell被调用的早了。先循环使用了cell,后又创建cell。顺序错了
可能原因:1、xib的cell没有注册 2、内存中已经有这个cell的缓存了(也就是说通过你的cellId找到的cell并不是你想要的类型),这时候需要改下cell的标识

5、cocoa pods报这个错误:unable to access \'https://github.com/facebook/pop.git/\': Operation timed out after 0 milliseconds with 0 out of 0 bytes received

解决办法:原因可能是网络问题,网络请求超时了,只需要重试就行了

6、cocoa pods 出现ERROR: While executing gem ... (Errno::EPERM)

解决办法:
https://segmentfault.com/q/1010000002926243

7、动画切换window的根控制器 // options是动画选项 [UIView transitionWithView:[UIApplication sharedApplication].keyWindow duration:0.5f options:UIViewAnimationOptionTransitionCrossDissolve animations:^{ BOOL oldState = [UIView areAnimationsEnabled]; [UIView setAnimationsEnabled:NO]; [UIApplication sharedApplication].keyWindow.rootViewController = [RootViewController new]; [UIView setAnimationsEnabled:oldState]; } completion:^(BOOL finished) { }]; 8、去除数组中重复的对象 NSArray *newArr = [oldArr valueForKeyPath:@“@distinctUnionOfObjects.self"]; 9、编译的时候遇到 no such file or directory: /users/apple/XXX

是因为编译的时候,在此路径下找不到这个文件,解决这个问题,首先是是要检查缺少的文件是不是在工程中,如果不在工程中,需要从本地拖进去,如果发现已经存在工程中了,或者拖进去还是报错,这时候需要去build phases中搜索这个文件,这时候很可能会搜出现两个相同的文件,这时候,有一个路径是正确的,删除另外一个即可。如果删除了还是不行,需要把两个都删掉,然后重新往工程里拖进这个文件即可

转载:多年iOS开发经验总结

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzjyyd.html