首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自定义getter/getter中的属性属性

自定义getter/getter中的属性属性
EN

Stack Overflow用户
提问于 2012-09-17 17:12:30
回答 2查看 1.3K关注 0票数 1

如果我创建属性,例如:

代码语言:javascript
复制
@property NSString *selectedSubProductId;

并创建setter和getter:

代码语言:javascript
复制
- (NSString *)selectedSubProductId {}

- (void)setSelectedSubProductId:(NSString *)value_ {}

XCode说"Deault property attribute 'assign' not appropriate for non-gc object".在这种情况下,属性有什么意义吗?我将它们设为copyassign有关系吗?或者它们只是提示@synthesize创建所需的方法吗?如果是,我应该如何禁用警告?

EN

回答 2

Stack Overflow用户

发布于 2012-09-17 17:20:27

如果是对象,则应使用保留/复制属性修改器。

例如:

代码语言:javascript
复制
@property (nonatomic, retain) NSString *selectedSubProductId;

如果缺少修改器,则默认情况下启用assign修改器。但它只对标量有效(intfloat...)或者struct

您可以在Apple Documentation中获得更多详细信息

票数 1
EN

Stack Overflow用户

发布于 2012-09-17 17:21:56

该警告表明您正在使用默认属性属性(assign),因为您忘记了说明您希望如何保存对象。

如果要“删除”警告,请使用保留/复制属性:@property (copy) NSString *selectedSubProductId;

但是,在字符串中,您应该使用copy。如需更多信息,请访问visit this question on stackoverflow.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12456221

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档