【问题标题】:Can the @property directive be used on primitive data types? [duplicate]@property 指令可以用于原始数据类型吗? [复制]
【发布时间】:2013-04-09 22:52:50
【问题描述】:

在我见过的所有示例程序中,@property 指令用于对象类型。例如:

 @property NSArray *myArray;

我的问题是,我可以在 int 等原始数据类型上使用和/或应该使用 @property 吗?例如:

@property int myNumber;

谢谢!

【问题讨论】:

  • 感谢大家的回答。嘿,谁给了我的问题-1?我的问题有什么问题?
  • 我投了反对票,因为如果您阅读过基本的 Objective-C 文档,您自己就会找到答案。
  • 嗨 Sebastian,我阅读了很多基本的 Objective-c 文档,但没有找到答案。很少有文档能很好地解释任何一个主题。我最终使用了几种不同的资源,只是为了将所有部分放在一个主题中。我既不愚蠢也不懒惰,所以请记住,下次您将某些内容标记为基本以询问并否决它时,学习编程是多么困难。谢谢。
  • 致 Josh、Gabriele、Monolo 和 MrCode,是的,我确实找到了那篇文章“在 Objective C 2.0 中为原始类型使用属性”。但是,这篇文章已有 3 年的历史,并且自 3 年前以来,@property 指令的工作方式可能已经发生了变化。所以,我再次问这个问题以获得更当前的答案。谢谢。

标签: objective-c properties


【解决方案1】:

是的,您可以:

@property (nonatomic, assign) BOOL myBool;
@property (nonatomic, assign) NSInteger myCount;

assign 是告诉编译器和运行时您的属性不需要内存管理的指令,值可以直接分配给 ivar。

【讨论】:

  • 基本类型的默认赋值
【解决方案2】:

是的,你可以。 但是您不能对原始数据类型使用与内存相关的选项,例如保留/强/弱。

【讨论】:

    【解决方案3】:

    是的。 @property 只是 getter 和 setter 方法的简写,适用于任何类型。

    【讨论】:

      【解决方案4】:

      是的,但请确保为它使用属性(分配)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-05-23
        • 2018-01-07
        • 2021-11-16
        • 2020-07-02
        • 1970-01-01
        • 2020-07-19
        • 2011-02-17
        • 1970-01-01
        相关资源
        最近更新 更多