1.对于oc中的函数分为[实例对象 消息名], [类名 消息名], 函数名(参数),
2.对于 struct CGAffineTransform
{
CGFloat a, b, c, d; //a, d 表示比例。
CGFloat tx, ty; //tx,ty表示位置
}
3.@property 作用
(1)用于自动的生成getter setter方法
(2)用于生成一个带_的成员变量,直接读取成员变量并不需要setter,getter方法。
4.在OC中,很多方法的第一个参数,都是触发该方法的对象。
如利用[_button addTarget: self action: @selector(clickbutton:) forControlEvents: UIControlEventTouchUpInsert]
- (void)clickbutton :(UIButton *) button // 此处首个参数就是出发事件的按钮。
5.代码的先后顺序依赖问题(懒加载):
通过getter方法来实现懒加载,即是在调用的最后时间来使用调用此属性。
也就是说要使用self.属性,使用属性,因为这样可以调用getter,以后调用成员属性的使用一定要使用self.成员属性。
6.包 [NSBundle mainBundle]指的是程序安装之后对应的程序包,里面含有编写程序时的素材。Bundle指的是包的意思。
//下句代码指的是用于获取程序包里的相应文件的路径
NSString *path = [[NSBundle mainBundle] pathForResource:@ImageList" ofType:@"plist"];
//然后来获取ImageList.plist里第一个文件类型即为Array
_imagList = [NSArray arrayWithContentsOfFile:path];
//通过此是获取ImageList.plist里的内容。
NSLog(@"%@", _imagList);
7.strong & weak
*控件
如果用stroyboard拖线,控件用weak
如果用代码创建界面,控件可以用strong
*自定义对象,需要使用strong
*NSString, 使用copy
*数学型的int, 使用assign
2.对于 struct CGAffineTransform
{
CGFloat a, b, c, d; //a, d 表示比例。
CGFloat tx, ty; //tx,ty表示位置
}
3.@property 作用
(1)用于自动的生成getter setter方法
(2)用于生成一个带_的成员变量,直接读取成员变量并不需要setter,getter方法。
4.在OC中,很多方法的第一个参数,都是触发该方法的对象。
如利用[_button addTarget: self action: @selector(clickbutton:) forControlEvents: UIControlEventTouchUpInsert]
- (void)clickbutton :(UIButton *) button // 此处首个参数就是出发事件的按钮。
5.代码的先后顺序依赖问题(懒加载):
通过getter方法来实现懒加载,即是在调用的最后时间来使用调用此属性。
也就是说要使用self.属性,使用属性,因为这样可以调用getter,以后调用成员属性的使用一定要使用self.成员属性。
6.包 [NSBundle mainBundle]指的是程序安装之后对应的程序包,里面含有编写程序时的素材。Bundle指的是包的意思。
//下句代码指的是用于获取程序包里的相应文件的路径
NSString *path = [[NSBundle mainBundle] pathForResource:@ImageList" ofType:@"plist"];
//然后来获取ImageList.plist里第一个文件类型即为Array
_imagList = [NSArray arrayWithContentsOfFile:path];
//通过此是获取ImageList.plist里的内容。
NSLog(@"%@", _imagList);
7.strong & weak
*控件
如果用stroyboard拖线,控件用weak
如果用代码创建界面,控件可以用strong
*自定义对象,需要使用strong
*NSString, 使用copy
*数学型的int, 使用assign