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了,也不用到定义时再去改,不知道苹果那样做的理由)。
@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了,也不用到定义时再去改,不知道苹果那样做的理由)。
相关文章推荐
- IOS学习笔记之十一:用Block来实现回调
- ((ios开发学习笔记))实现委托总结
- ios学习笔记之类声明(接口)
- IOS学习笔记34—EGOTableViewPullRefresh实现下拉刷新
- iOS学习笔记--01swift实现提示框第三方库:MBProgressHUD
- IOS学习笔记34—EGOTableViewPullRefresh实现下拉刷新
- IOS学习笔记 - 多视图代码实现
- IOS学习笔记32—使用Storyboard实现复杂界面
- ((ios开发学习笔记 十一))自定义TableViewCell 的方式实现自定义TableView(带源码)
- ((ios开发学习笔记八)) 多组选择器实现 PickerView
- ((ios开发学习笔记 十三))实现九宫格效果(附带源码)
- iOS学习笔记-131.多线程24——多图下载4_第四种实现方式(缓存使用NSCache)
- iOS 学习笔记 十三 (2015.04.15)采用第三方库,实现ios录音转为amr
- ios蓝牙开发学习笔记(二)central角色的实现
- IOS学习笔记 -- 基础-疯狂猜图实现流程
- iOS学习笔记-- tableView单选的实现
- (ios开发学习笔记三)两个窗体之间跳转,实现多窗体
- IOS学习笔记32—使用Storyboard实现复杂界面
- iOS学习笔记4-GCDAsyncUdpSocket的使用(实现异步发送接收数据)
- iOS学习笔记-115.多线程14——NSOperationQueue和NSBlockOperation合用实现多线程