pragma mark 点语法
pragma mark 概念
// 点语法 其实它的本质是调用了 我们的 setter和 getter方法
// 点语法 是一个编译器的特性, 不是属于OC的语言. 它是编译器特性, 会在程序翻译成二进制的时候 \
将. 语法 自动转换成 为setter 和 getter方法 \
如果 点语法 在 =号的左边, 那么系统会自动换成 setter 方法 \
// 如果 点语法 在=号的右边, 或者没有等号, 那么编译器会 自动转换 为 getter 方法
pragma mark 代码
#import <Foundation/Foundation.h>
#pragma mark 类
#import "Person.h"
#pragma mark main函数
int main(int argc, const char * argv[])
{
#warning setter 和 getter方法使用
Person *p = [Person new];
/*
// 通过 设置 setter方法可getter方法 也可以给我们的属性 赋值
p->_age = 24;
p->_name = @"lyh";
p->_height = 1.72;
// NSLog(@"age = %i , name = %@, height = %f",p->_age, p->_name,p->_height);
NSLog(@"age = %i , name = %@, height = %f",[p age], [p name],[p height]);
*/
#warning 点语法的使用
#warning 如果给属性提供了getter和setter方法,那么方法属性又多了 一种访问方式: (点语法)
// 点语法 其实它的本质是调用了 我们的 setter和 getter方法
// 点语法 是一个编译器的特性, 不是属于OC的语言. 它是编译器特性, 会在程序翻译成二进制的时候 \
将. 语法 自动转换成 为setter 和 getter方法 \
如果 点语法 在 =号的左边, 那么系统会自动换成 setter 方法 \
// 如果 点语法 在=号的右边, 或者没有等号, 那么编译器会 自动转换 为 getter 方法
p.name = @"lys";
// [p setName:@"lyh"];
p.age = 27;
p.height = 1.73;
NSLog(@"age = %i , name = %@, height = %f",p.age,p.name,p.height);
/*
点语法的注意点:
点语法 一般用于给成员变量 赋值, 如果不是给成员变量 赋值 一般情况下不建议使用, 但是也可以使用
*/
p.test; // [p test];
return 0;
}
Person.h // 人类
#import <Foundation/Foundation.h>
@interface Person : NSObject
{
@public
int _age;
NSString *_name;
double _height;
}
// set
- (void)setAge:(int)age;
- (void)setName:(NSString *)name;
- (void)setHeight:(double)height;
// get
- (int)age;
- (NSString *)name;
- (double)height;
- (void)test;
@end
Person.m
#import "Person.h"
@implementation Person
- (void)setAge:(int)age
{
_age = age;
}
- (void)setName:(NSString *)name
{
_name = name;
}
- (void)setHeight:(double)height
{
_height = height;
}
// get
- (int)age
{
return _age;
}
- (NSString *)name
{
return _name;
}
- (double)height
{
return _height;
}
- (void)test
{
NSLog(@"test");
}
@end
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。