在开发中直接将数据写在代码里面 不是一种合理的做法 如果数据经常改变 就需要经常翻开对应的代码进行修改 造成代码扩展性低
一般可以使?用属性列表?文件存储NSArray或者NSDictionary之类的数据,这 种“属性列表?文件”的扩展名是plist,因此也称为“plist?文件”
plist的文件名不能叫做 “info” 、“Info” 之类的
添加plist等文件资源的时候 也就是你将一个文件拖到项目中的时候 一定要勾选下面的选项:
dict[@"name"] = @"Jack"; NSString *name = dict[@"name"];
? ?手敲字符串key,key容易写错
? Key如果写错了,编译器不会有任何警告和报错,造成设错数据或者取错数据 ● 使?用模型的好处
● 通过xib\storyboard创建
- 初始化时不会调?用initWithFrame:?方法,只会调?用initWithCoder:?方法
- 初始化完毕后会调?用awakeFromNib?方法
● 有时候希望在控件初始化时做?一些初始化操作,?比如添加?子控件、设置基本属性
● 这时需要根据控件的创建?方式,来选择在initWithFrame:、initWithCoder:、awakeFromNib的哪个?方法中操作
一个UIImage对象代表一张图片 一般通过imageNamed:方法就可以通过文件名加载项目中的图片
如:
UIImageView
- 能显?示图?片,不能直接通过addTarget...?方法监听点击
UILabel
- 能显?示?文字,不能直接通过addTarget...?方法监听点击
仅仅是显?示数据,不需要点击 建议选择UIImageView、UILabel
不仅显?示数据,还需要监听点击
建议选择UIButton
其实UIImageView、UILabel也可以通过?手势识别器来监听(后?面课程会学)
长按控件后,会改变显?示的内容 不?用考虑了,选择UIButton(因为UIButton有highlighted这种状态)
同时显?示2张图?片:背景图?片、内容图?片 不?用考虑了,选择UIButton
常用的Xcode插件推荐:http://www.cocoachina.com/industry/20130918/7022.html
## 定时任务 - 方法1:performSelector // 1.5s后自动调用self的hideHUD方法 [self performSelector:@selector(hideHUD) withObject:nil afterDelay:1.5]; - 方法2:GCD dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ // 1.5s后自动执行这个block里面的代码 self.hud.alpha = 0.0; }); - 方法3:NSTimer // 1.5s后自动调用self的hideHUD方法 [NSTimer scheduledTimerWithTimeInterval:1.5 target:self selector:@selector(hideHUD) userInfo:nil repeats:NO]; // repeats如果为YES,意味着每隔1.5s都会调用一次self的hidHUD方法
- 项目里面的某个.m文件无法使用
- 检查:Build Phases -> Compile Sources
- 项目里面的某个资源文件(比如plist、音频等)无法使用
- 检查:Build Phases -> Copy Bundle Resources
本文就分享到这里了 感谢你的阅读!
原文:http://www.cnblogs.com/syios/p/4637816.html