使用方式一声明的成员变量是只能在自己类内部直接使用,不能在类的外部使用,而且无法通过 “类名. 点”的方式显示。
方式二则相反,它可以在类的外部访问(声明在.h文件中可以.m也不可以访问),在类的内部可以通过下划线"_变量名”或者"self.变量名"的方式来访问。
3.id<XXX> object; 表示 object 是一个遵守xxx协议的指针。或者说只要遵守了xxx协议的指针就可以赋值给object了。
4..Object<Type> xcode7之后新增了泛型了,就是对摸个数组,字典,或者自定义模型里面的内容的类型进行限定。
5.数组和指针
5.1 数组名代表,指向这个数组的第一个元素的指针
比如: int numbers[2][2]={
{10,20},
{11,21}
};
那么 numbers[0]:指向numbers[0][0];
number[1]:指向numbers[1][0]
numbers :指向numbers[0]
5.2,指针的移动的大小与指向内容的大小是一致的 numbers+1=&numbers+1*sizeof(numbers)
如 :
&numbers[0][0]+1,移动4个字节=numbers[0]+1
&numbers[0]+1,移动8个字节=numbers+1
&numbers+1,移动16个字节
NSLog(@"%ld,%p,%p", sizeof(&numbers),&numbers,&numbers+1);
NSLog(@"%ld,%p,%p", sizeof(&numbers[0]),&numbers[0],&numbers[0]+1);
NSLog(@"%ld,%p,%p", sizeof(numbers),numbers,numbers+1);
NSLog(@"%ld,%p,%p", sizeof(&numbers[0][0]),&numbers[0][0],&numbers[0][0]+1);
NSLog(@"%ld,%p,%p", sizeof(numbers[0]),numbers[0],numbers[0]+1);
2016-07-28 06:32:16.853 数组和指针[2715:178450] 8,0x7fff5fbff7c0,0x7fff5fbff7d0
2016-07-28 06:32:16.855 数组和指针[2715:178450] 8,0x7fff5fbff7c0,0x7fff5fbff7c8
2016-07-28 06:32:16.855 数组和指针[2715:178450] 16,0x7fff5fbff7c0,0x7fff5fbff7c8
2016-07-28 06:32:16.855 数组和指针[2715:178450] 8,0x7fff5fbff7c0,0x7fff5fbff7c4
2016-07-28 06:32:16.855 数组和指针[2715:178450] 8,0x7fff5fbff7c0,0x7fff5fbff7c4