【掌握】03-点语法介绍和使用
#import <Foundation/Foundation.h> #import "Person.h" int main(int argc, const char * argv[]) { @autoreleasepool { Person *p = [Person new]; //调用set方法 // [p setAge:18]; // [p setName:@"张三丰"]; //点语法:xcode的特性,xcode帮我们做代码替换 //对象.属性名 //注意,此时(p.age)并不是直接访问实例变量, //而是xcode 看到点语法(p.age)后,会帮我们自动替换成 //p.age --替换-->[p setAge:18] p.age = 18; //p.name = @"凤姐"; // //// int a = [p age]; //调用get方法 //// NSString *s = [p name]; // // //注意,此处p.age是出现在了等号的右侧 // //实际上,当xcode 看到p.age出现在等号的右侧后, // //它会帮我们把p.age ---替换成---> [p age]; // int a = p.age; //调用get方法 // NSString *s = p.name; // // //强调:p.age到底是替换成get方法还是set方法,一般取决于 // //p.age出现在等号左侧还是右侧(是设置值,还是取值) // // // NSLog(@"\nage:%d,name:%@",a,s); NSLog(@"%d",p.age); } return 0; }
self.age 死循环
本质是方法的调用,没有方法就没有点方法
【掌握】[email protected]关键字介绍及使用
@property 的使用 1、使用格式: @property 数据类型 方法名(去掉set)//是方法名不是属性名,所以下划线什么都没有 2、作用: 1、在xcode4.4 之前,用于帮我们实现get/set方法的声明 2、在xcode4.4 之后,有增强功能(稍后讲)
【掌握】[email protected]关键字介绍和使用
Person.h
#import <Foundation/Foundation.h> @interface Person : NSObject { //实例变量 NSString *_name; int _age; } //@property 编译器指令,编译器帮我们会进行_age _name get/set方法的声明 @property int age; @property NSString *name; -(void)test; @end
Person.m
#import "Person.h" @implementation Person //@synthesize帮我们实现了 实例变量的get和set方法 @synthesize age; //帮我们生成了一个变量 age //@synthesize weight; /* -(void)setAge:(int)age{ self->age = age; } -(int)age { return age; } */ @synthesize name; /* -(void)setName:(NSString *)name{ self->name = name; } -(NSString *)name{ return name; } */ -(void)test{ NSLog(@"\n_age = %d,_name = %@",_age,_name); NSLog(@"\nage = %d,name = %@",age,name); } @end
【掌握】[email protected]增强使用
时间: 2024-11-05 18:43:27