博客
关于我
属性声明方式@interface与@property 的不同
阅读量:583 次
发布时间:2019-03-11

本文共 511 字,大约阅读时间需要 1 分钟。

当初提到Objective-C属性声明方式时,常会遇见不同编写风格,容易让人感到困惑。以下是两种常见方式的对比分析:

方式一:直接在@interface中声明

此方法直接在扩展符中添加属性声明,即:

@interface MyTest : NSObject {
NSString *mystr;
}

优点:直观清晰,直接定义属性,适合简单场景。 缺点:属性只能在类内部使用,无法通过点方法访问,类外无法引用。

方式二:使用@property

这是一种更现代的方式,代码结构如下:

@interface MyTest : NSObject {
}
@property (strong, nonatomic) NSString *mystr;

随后在.m文件中添加synthesize:

@implementation MyTest
@synthesize mystr = _myStr;

优点:支持动态属性管理,方便继类及其他行为定义。 缺点:增加了更多的代码依赖,需要 понdersite属性声明。

详细对比可看出,@synthesize方式更适合复杂属性管理,而@property则更灵活支持多种动态行为特性。

转载地址:http://whttz.baihongyu.com/

你可能感兴趣的文章
matlab函数:fix 向0取整
查看>>
ORCAD创建元件库时,格点对不起怎么办
查看>>
Allegro中如何消除器件本身Pin间距报错
查看>>
AD中拖动器件,无法移动在一起如何解决
查看>>
linux--练习001-基础类型
查看>>
python内存地址和编译字节码
查看>>
Flask--简介
查看>>
Flask模板--过滤器与测试器
查看>>
16 python基础-恺撒密码
查看>>
06.1 python基础--结构控制
查看>>
Frame--Api框架
查看>>
Frame--WEB框架
查看>>
idea 在Debug 模式中运行语句中函数的方法
查看>>
eclipse“SVN检出”遇到问题 error getting dir list 的解决办法
查看>>
springboot2.1.1开启druid数据库连接池并开启监控
查看>>
vscode bash-4.3$ bash:git: command not found问题处理
查看>>
《朝花夕拾》金句摘抄(五)
查看>>
《朝花夕拾》金句摘抄(六)
查看>>
Boostrap技能点整理之【网格系统】
查看>>
新闻发布项目——业务逻辑层(UserService)
查看>>