假设将synthesize省略,语义特性声明为assign retain copy时,自己实现setter和getter方法[通俗易懂]

假设将synthesize省略,语义特性声明为assign retain copy时,自己实现setter和getter方法

大家好,又见面了,我是全栈君。


假设将synthesize省略,而且我们自己实现setter和getter方法时,系统就不会生成相应的setter和getter方法,还有实例变量

1,当把语义特性声明为assign时,setter和getter时方法内部实现

– (void)setName:(NSString *)name{
   _name = name;
}
– (NSString *)name{
   return _name;
}

2,当把语义特性声明为retain时,setter和getter方法内部实现

– (void)setName:(NSString *)name{
    if (_name != name) {
        [ _name release];
        _name = [name retain];
    }
}

– (NSString *)name{
    return [[ _name retain] autorelease];
}



3,当把语义特性声明为copy时,setter和getter方法内部实现
– (void)setName:(NSString *)name{
    if (_name != name) {
       [ _name release];
        _name = [name copy];
    }
}

– (NSString *)name{
    return [[ _name retain] autorelease];
}


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/115997.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 易语言解析html实例,易语言解析JSON教程

    易语言解析JSON教程本文由applek于2015-7-717:25发布在易语言教程现在很多数据都是为json返回,如果用正则的话显得太麻烦,下面果核源码网就带来json解析教程首先需要用到工具:精易模块3.6以上版本:json解析工具:首先我们要有一段json,这儿拿QQ留言json测试。下载地址:下面将代码复制到工具,如图所示然而右边并没有解析出来原因是这个不是标准的json,标…

  • SD/MMC卡介绍

    SD/MMC卡介绍1.1.什么是MMC卡MMC:MMC就是MultiMediaCard的缩写,即多媒体卡。它是一种非易失性存储器件,体积小巧(24mm*32mm*1.4mm),容量大,耗电量低,传输速度快,广泛应用于消费类电子产品中。1.2.什么是SD卡SD:SD卡为SecureDigitalMemoryCard,即安全数码卡。它在MMC的基础上发展而来,增加

  • WPF中ListView排序

    WPF中ListView排序//后台代码privatevoidlvList_Click_1(objectsender,RoutedEventArgse){if(e.OriginalSourceisGridViewColumnHeader){//获得点击的列

  • webstorm占用内存过高_python程序内存不断增加

    webstorm占用内存过高_python程序内存不断增加之前在Mac上用webstorm内存占用非常高,查看资料后通过修改webstorm.vmoptions里的配置,可以降低内存占用,现在用pycharm又遇到这个问题设置前cup占用率查看webstorm/pycharm的占用内存配置文件,打开Finder选择Application应用程序,找到webstorm/pycharm右键,选择显示包内容路径:content/bin…

  • 公众平台的基本信息

    公众平台的基本信息

  • redis 6379端口不通解决方法「建议收藏」

    redis 6379端口不通解决方法「建议收藏」1.reids服务器的6379端口telnet不通2. 查看reids进程和端口,都是存在的。只是ip地址是127.0.0.1而不是0.0.0.0,只是本机能使用3.查找redis的配置文件redis.conf 使用命令:find/-nameredis.conf 4.查找bind127.0.0.1所在的行数  使用命令:cat/usr/local/re…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号