您的位置:首页 > 移动开发 > IOS开发

ios学习笔记之类实现

2012-07-29 21:15 274 查看
类实现:
@implementationTestCoop

- (void) displayDateInfo{

NSLog(@"Today is: %d.%d.%d\n", iYear, iMonth,iDay);

}
- (void)setYear: (int) year{

iYear = year;

}
- (void)primalSetData: (int)year :(int)month :(int)day{

iYear = year;

iMonth = month;

iDay = day;

}
- (void)setData: (int)year iMonth:(int)month iDay:(int)day{

iYear = year;

iMonth = month;

iDay = day;

}
1、注意:类的方法实现部分函数参数不能和声明部分一样,就是不能和类变量同名,否则会隐藏初始变量。
比如:-(void) setYear: (int) year{ //right

iYear = year;

}
改成和声明时一样的话,如下:- (void) setYear: (int) iYear{ //error

iYear = iYear;

}
明显出问题了,xcode编译会报warnging,就是初始变量被隐藏,其实本质就是变量作用域的问题,你局部变量和类变量名字一样,
当然访问不到了。
根由:声明的时候Objective-C喜欢用类变量的名字来代替函数参数名,不知道为啥,真是个纠结的问题。(要是从声明的时候就不用,就OK了,也不用到定义时再去改,不知道苹果那样做的理由)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: