Chinaunix首页 | 论坛 | 博客
  • 博客访问: 50646
  • 博文数量: 34
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 297
  • 用 户 组: 普通用户
  • 注册时间: 2014-04-09 10:52
文章分类

全部博文(34)

文章存档

2015年(23)

2014年(11)

我的朋友

分类: iOS平台

2015-03-24 11:03:07

1.[student new]也可以分配内存然后初始化。

student *su = [[student allocinitWithAge:19 andNo:11];等效于

student *su = [student new];

2.property

当编译器遇到@propetry时,会自动展开成get,set方法的声明

.h: @property int age;  会展开 -(int)age;  -(void)setAge:(int)newage;的方法声明

synthesize 

.m: @synthesize age;会展开 -(int)age;  -(void)setAge:(int)newage;的具体实现语句

并且如果.h里没声明该变量,则会在.m里自动创建一个私有的该变量


3.@property 只在@interface里有效

@synthesize 只在@implementation里有效


4.//自动生成变量名字为_age,并且是私有的

@synthesize age = _age;


5.

编译器新特性,Xcode4.5以上

写了@property,就不用写 @synthesize,会自动在.m文件里生成@synthesize age = _age;


6.@property @synthesize是编译器的特性,就是会自动展开成别的代码

.h里面写@property 

.m里不一定用些@synthesize,他俩没必要必须配对出现

如果已经手动实现了set或者get方法,@property @synthesize就会用手动实现的






阅读(846) | 评论(0) | 转发(0) |
0

上一篇:OC入门篇3

下一篇:OC入门篇5

给主人留下些什么吧!~~