黑马程序员技术交流社区
标题: 【iOS技术分享】新手入门iOS --- 那些总会遇到的问题(一) [打印本页]
作者: Simpon 时间: 2016-5-10 09:30
标题: 【iOS技术分享】新手入门iOS --- 那些总会遇到的问题(一)
本帖最后由 Simpon 于 2016-10-19 12:00 编辑
声明一下,是新手入门常犯的错误,笔者不信哪位大牛刚开始学习开发时没有犯过类似错误或者有过类似疑问。 然后请大牛小牛们多多提建议,大家有不会的想问的,请转移bug帖进行提问,此贴为新手问题整理汇总帖。
1.什么是懒加载?_arr和self.arr有什么区别关于懒加载见帖子:
【iOS基础】那些你似懂非懂的东西 --- 懒加载
_arr是不掉用get方法。self.arr会掉用arr的get方法。
2.设置button的文字和图片后不显示文字?设置了一些控件的属性,为什么没有显示?
原因1:设置button后文字颜色默认为白色,底色也为白色就会看不到文字
原因2:同学们下面两个设置图片的方法使用错误也会导致看不到文字,要分清楚什么时候用哪个方法来实现。
原因3:[self.view addsubview:xxx]是否有写或者运行。
3.加载xib文件后,界面什么也没有显示?
答:很多人由于粗心xib文件的文件名写错导致不显示,所以同学们要非常注意xib和plist等这样的名称是否正确。很多同学就是因为名称错误耽误浪费了很长时间。
4.定时器写法:
答:- -(NSTimer*)time{
- if (_time==nil) {
- self.time = [NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector(nextPage) userInfo:nil repeats:YES];
-
- //需要将定时器添加到当前循环中,并设置为通用模式
- [[NSRunLoop currentRunLoop] addTimer:_time forMode:NSRunLoopCommonModes];
- }
- return _time;
- }
复制代码 5.scrollView停止拖拽的方法问什么没有执行?
答:选择方法的时候一定要注意,很多方法名称类似,下面的方法才是停止拖拽时调用的方法
- //当用户停住拖拽时
- -(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{
- }
复制代码
6.开发过程中总汇使用到代理,如何可以防止一些不必要的崩溃?有一种方法如下://拿到这个代理对象判断是否实现了方法- if ([self.delegate respondsToSelector:@selector(clickDownLoadButton:andButton:)]==YES) {
- //如果实现了 就调用
- [self.delegate clickDownLoadButton:self andButton:sender];
- }
复制代码7.重写初始化方法的时候,不要忘记写返回值,一般返回初始化的对象。
8.当使用collectionView或者tableView的时候,如果用到了重用机制,并且要是纯代码编写,不要忘记注册identifier。
9.indexPath的属性中有section和row两种,这两种一定要分清。
10.通知的使用
例子是监听txtField的输入改变事件。
- // 通知中心:
- NSNotificationCenter * defaultCenter = [NSNotificationCenter defaultCenter];
- // 接收消息,调用方法:
- [defaultCenter addObserver:self selector:@selector(textfieldDidChange:) name:UITextFieldTextDidChangeNotification object:self.txtField];
复制代码
精华推荐:
作者: xzw19920701 时间: 2016-7-3 01:36
加油 大神我QQ464624463
作者: iOS资源工匠哥 时间: 2016-12-1 16:54
2016黑马程序员最新全套iOS开发海量配套资源下载,视频+源码+工具+笔记+面试宝典http://www.itheima.com/iosmap + Q: 3267954875
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |