gpt4 book ai didi

objective-c - 在objective-c中覆盖setter

转载 作者:行者123 更新时间:2023-12-01 17:58:04 26 4
gpt4 key购买 nike

我要设置NSDate来自 NSInteger我有 @property :
@property (strong,nonatomic) NSDate *date;
我想要二传手:

-(void)setDate:(NSInteger *)tStamp {
thumbImgUrl = [NSDate dateWithTimeIntervalSince1970:tStamp];
}

所以我想将我的日期设置为 NSInteger值不是 NSDate值(value)。我如何声明这个二传手?当我尝试将它放在头文件中时,它可以正常工作,但我收到警告:
Type of property 'date' does not match type of accessor 'setDate:
如果我想在 .m 文件中声明它,我会收到错误消息:
duplicate declaration of method setDate:
为什么?有一种方法可以声明具有不同输入类型的 setter?

最佳答案

一般来说,这是在 Objective-C 中做事的一种非常糟糕的方式,我强烈建议您将方法名称更改为其他名称,例如 -(void)setDateWithInteger:(NSInteger)tStamp . (说到这,NSInteger 是一个原始的,而不是一个对象)回答你的问题,不,如果你使用 @property,就没有办法声明具有不同输入类型的 setter 。 .如果你坚持按照自己的方式做,那么你将不得不声明方法而不使用 @property .

关于objective-c - 在objective-c中覆盖setter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14102718/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com