首页 > 代码库 > iOS:不同属性声明方式的解析
iOS:不同属性声明方式的解析
代码:
/*属性声明方式说明: ----------------------- 1@interface ...{ id name}@end 这样声明的属性其实可以认为是private属性,因为它只能在方法里通过name引用,外部无法通过“object.name”的方式进行引用 (内部也不能通过self引用)---------------------- 2@interface ...@property id name@end这样声明的属性可以认为是public属性,内部通过“self.name”引用;外部通过“object.name”引用 ----------------------- 3@implementation ...@synthesize name@end 允许以property声明的属性,在内部方法里除了以self引用外,还可以用属性名直接引用 ----------------------- 4self.name其实是是两个方法(setter,getter):id value = http://www.mamicode.com/[self name]>*/#import <Foundation/Foundation.h>@interface Student : NSObject{ NSString *name;}@property NSString *address;-(void) toString;@end@implementation Student@synthesize address;-(Student *)init{ name = @"lishujun"; self.address = @"beijing"; return self;}-(void) toString{ NSLog(@"%@ %@", name, [self address]);}@endint main(int argc, const char * argv[]){ @autoreleasepool { // insert code here... Student *student = [[Student alloc]init]; [student toString]; [student setAddress:@"tongzhou"]; [student toString]; NSLog(@"%@", student.address); // 语法错误,没有setName这个方法 //[student setName:@"shujunli"]; //[student toString]; } return 0;}
iOS:不同属性声明方式的解析
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。