Cocoa/Objective-C:访问不同类中的(布尔)变量

Sam*_*uel 0 variables cocoa class objective-c

情况:Noob/Xcode 3.1

我有一个AppView(NSView子类)和一个AppController(NSObject子类)

在AppView.hi中声明一个布尔值(BOOL:booleanDraw),我在AppView.m中设置为'NO'

当单击一个按钮时,它会"启动"一个动作(AppController .h/.m),现在我想在单击按钮时将booleanDraw更改为YES.

我搜索并发现:用@property做它好吧我试着这样做但它没有用.(因为我完全不知道该做什么)我做了:

@property BOOL booleanDraw;
Run Code Online (Sandbox Code Playgroud)

(在AppView.h中)

@implementation AppView

@synthesize(readwrite, nonatomic) booleanDraw;
Run Code Online (Sandbox Code Playgroud)

(在AppView.m中)

AppView *obj;
obj.booleanDraw = YES;  // implicitly calls [obj setVar:3]
Run Code Online (Sandbox Code Playgroud)

(在AppController.m中)

感谢您的帮助,我已经阅读了一些教程,但他们经常提出一些应该是基本但不属于我的保留曲目的步骤,并且ADN经常让我感到困惑xD抱歉但是相信我即时尝试^^

Ken*_*ner 6

你刚刚颠倒了syntize和property语句:

在.h:

@property (nonatomic) booleanDraw;
Run Code Online (Sandbox Code Playgroud)

(默认属性是readwrite,你只需要在readonly时说明)

在.m:

@synthesize booleanDraw;
Run Code Online (Sandbox Code Playgroud)

在控制器中,您需要获取应用程序视图引用,除非您将"obj"设置为某些内容,否则您发布的代码将无效.