如何修复警告Autosynthesized属性'view'将使用合成的实例变量'_view',而不是现有的实例变量'view'

时间:2014-05-22 19:16:09

标签: objective-c cocoa uiviewcontroller nsviewcontroller

我在xcode中收到以下警告/错误:

Autosynthesized property 'view' will use synthesized instance variable '_view', not existing instance variable 'view'

当我尝试在NSViewController上重新定义/覆盖view属性的类时。

@interface DABListViewController : NSViewController
  @property (nonatomic, strong) DABListViewControllerView *view;
@end

此外,视图似乎没有出现。这个question看起来很相似,但没有用。

1 个答案:

答案 0 :(得分:-2)

在我的实施文件中包含@dynamic view;修复了问题。

@implementation TSPollListViewController

  @dynamic view;

  - (void)loadView {
    self.view = [[DABListViewControllerView alloc] init];
  }

@end

@dynamic告诉编译器不要担心属性,因为它们将在运行时处理。我想告诉编译器忽略该属性,我们不会覆盖view中定义的NSViewController实例变量。我认为这也意味着没有_view。这应该适用于UIViewController以及您要在子类中重新定义Type for的大多数属性。