@synthesize的正确使用方式

@synthesize的正确使用方式

一. @synthesize的错误使用方式

类1和类2是继承关系, name是类1的属性

但是类2的实现里加入了@synthesize name = _name;

导致类1的setName name 方法都被重写了

调用结果: 没有打印任何语句

类1:

#import <Foundation/Foundation.h>

@interface MyTestObj : NSObject
@property (nonatomic, strong) NSString *name;

@end
#import "MyTestObj.h"

@implementation MyTestObj
@synthesize name = _name;
- (void)setName:(NSString *)name
{
    _name = name;
    NSLog(@"%s invoke", __func__);
}
@end

类2:

#import "MyTestObj.h"

@interface MyCartObj : MyTestObj

@end
#import "MyCartObj.h"

@implementation MyCartObj
@synthesize name = _name;

@end
MyCartObj *cart = [[MyCartObj alloc] init];
    [cart setName:@"myname"];

调用结果: 没有打印任何语句

原因: 因为类2使用了@synthesize name = _name, 所以 类1的setName name 方法都被重写了;

时间: 2024-10-24 12:46:22

@synthesize的正确使用方式的相关文章

iOS9使用提示框进行文本输入的正确实现方式

我在之前写过一篇博客<iOS9使用提示框的正确实现方式>,主要讲了如何使用UIAlertController替换UIAlertView进行提示框的实现.今天我们将会来实现一下在提示框中如何进行文本输入.该功能可以让用户进行密码确认等功能. 实现代码如下: #import "SecondViewController.h" #import "AppDelegate.h" @interface SecondViewController () @end @imp

关于格子之表白的正确打开方式

飞碟说69期:<表白的正确打开方式>优酷视频在线观看.你可能想不通, 我身高177.体重117.长相不错.家庭不错.成绩好.体育好.器大活还好,为啥她不喜欢我?飞碟君教你三招: 知己知彼才好下套.自恋和自卑是表白大忌.再牛的技术也比不上真情流露 .自古表白多白表,要经历多少次“十动然拒”,才能学会表白的正确打开方式? 飞碟说谈恋爱系列: 表白的正确打开方式 文字版台词 闽江学院男生赖国森向他心仪的蕾蕾,送出了一封212天写的16万字的情书,内容是回忆两人一起吃过的沙县,他将其装订成册,并取名&

OSChina 周日乱弹 —— 旅游被宰后正确处理方式

怎么小小编上了三天班感觉像上了一个月的班一样,难道这是假期综合症的后遗症?要不是因为穷,本人才不会每天上班写乱弹呢! 人民币,一种生活在中国地区,飞行速度极快的鸟类动物,一般在人们不经意间,悄悄从钱包里飞走via:三吼君 土豪炫富的方式总是充满了创新 @笨笨猴:一个姑娘把新买的iPhone6s放在钢琴上,她同学看到后说:"不就是买个苹果吗,放这么显眼的位置装?"女孩笑了笑说:"我弹着80w的钢琴,你却只 看到一个8000块钱的手机."女孩的妈妈对女儿说:"

Java流的正确关闭方式

因为流是无论如何一定要关闭的,所以要写在finally里.如下: BufferedReader reader = null; try { reader = (BufferedReader) getReaderFromFile(file); …… } catch (IOException e) { throw e; } finally { if (reader != null) { try { reader.close(); } catch (IOException e){ throw e; }

Xcode 的正确打开方式——Debugging(转载)

Xcode 的正确打开方式——Debugging 程序员日常开发中有大量时间都会花费在 debug 上,从事 iOS 开发不可避免地需要使用 Xcode.这篇博客就主要介绍了 Xcode 中几种能够大幅提升代码调试效率的方式. “If debugging is the process of removing bugs, then programming must be the process of putting them in.”——Edsger W. Dijkstra 添加条件 有时候我们可

swf文件的正确打开方式

软件下载链接在此,可不必看下面的解释 最近在看新东方的英语口语视频教程(<新东方4+1英语口语教程>,也在此向大家推荐一下),可是在播放过程中,老是出现自己跳转到视频的起始位置并暂停的状况,很让人抓狂,我试了好几款视频播放器,结果都是一样.想着可能是视频文件的问题吧,也就没管它了,迁就着看了几集. 可是,第二天我贼心不死,百度之.在筛掉几个错误答案之后,发现了这款ZzFlash播放器,下载试了下,视频果然不跳了. 原来视频跳转的原因是:课程设定有跟读的内容环节,一般的视频播放器没有识别出这个东

耳机的正确佩戴方式,看看你戴对了吗

很多朋友都喜欢在乘车和步行时听音乐,不过,你知道如何正确的戴耳机吗?看到这个问题你是不是很不屑一顾,先别忙吐槽,来看看,你是不是戴错了好多年. 以佩戴的方式来区分,耳机主要有耳塞式,入耳式,头戴式,挂耳式. 这才是耳塞式/入耳式耳机的正确佩戴方式,你是这样戴的吗? 戴耳机听音乐会对耳朵有什么伤害吗?长时间戴耳机于听力有损.耳机接近鼓膜,能将声音信号提高9分贝左右,时间过长会对耳膜造成极大伤害,轻度者为重听,中度以上为耳聋.最好的办法还是限制听耳机的时间,且音量不要过大.来源免费刷Q币:http:

以正确的方式开源 Python 项目(转)

大多数Python开发者至少都写过一个像工具.脚本.库或框架等对其他人也有用的工具.我写这篇文章的目的是让现有Python代码的开源过程尽可能清晰和无痛.我不是简单的指——“创建一个GitHub库,提交,在Reddit上发布,每天调用它”.在本文的结尾,你可以把现有的代码转换成一个能够鼓励他人使用和贡献的开源项目. 然而每一个项目都是不同的,但其中将现有代码开源的流程对所有的Python项目都是类似的.在另一个受欢迎的文章系列里我写了“以正确方式开始一个Django项目”,我将概述在开源Pyth

论数据提取的正确打开方式

在WX时做了两年的数据提取,处理了七八百个需求,基本是每天都有.曾经有段时间,我还挺喜欢提数据的,因为简单轻松不用太动脑.虽然领导时不时也会强调一下,在提取数据时要多和业务方讨论.但讨论的目的是砍掉一些意义不大的指标,以减少数据提取的耗时,因为领导觉得数据提取是一件很low的事情,没啥技术含量.所以在WX的时间里,我一直以为数据提取就只是数据提取. 所以,它的正确处理方式就应该是:需求方发来一封邮件,上面简要写着分析背景,分析目的以及详细的指标体系.收到邮件后,我需要先认真阅读邮件中的每一个指标