【问题标题】:Declaration of variables in the class extension (anonymous category) vs Implementation [duplicate]类扩展中的变量声明(匿名类别)与实现[重复]
【发布时间】:2014-04-16 13:29:19
【问题描述】:

我见过很多人在他们的实现文件中使用这样的声明:

@interface ViewController ()<UIPickerViewDataSource,UIPickerViewDelegate>

@implementation ViewController
{
  UIPopoverController *popoverController;
      NSString *currentPick;
    ….
}

这是一个好方法还是我应该像这样在类扩展中定义属性:

@interface ViewController ()
{
  @property (nonatomic, strong) UIPopoverController *popoverController;
  @property (nonatomic, strong) NSString *currentPick;
    ….
}
@implementation ViewController
@synthesize popoverController;
@synthesize currentPick;
...

在这种情况下,我有点困惑。

提前致谢。

【问题讨论】:

  • 是的,很抱歉来自 Java 听到实例变量让我感到困惑,因为翻译成objective-c 的术语,属性将是实例变量,在objective-c 中它们显然不是。优点是在类扩展中定义属性是您可以自动设置 getter 和/或 setter 方法。

标签: ios objective-c objective-c-category


【解决方案1】:

Property vs Instance Variable

最好的方法是在你的类扩展中声明属性。

【讨论】:

    猜你喜欢
    • 2014-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    • 2019-10-15
    • 1970-01-01
    相关资源
    最近更新 更多