如何从其他类访问变量?

9 import cocoa class objective-c

可能有一个非常简单的解决方案,但我不能让它工作.

我的Cocoa文件中有多个类.在其中一个类中,class1我创建了一个我需要在另一个类中使用的变量class2.有一种简单的方法可以导入这个变量class2吗?

Ada*_*eld 15

您可以将变量设为public,也可以将其变为属性.例如,将其公开:

@interface Class1
{
@public
    int var;
}
// methods...
@end

// Inside a Class2 method:
Class1 *obj = ...;
obj->var = 3;
Run Code Online (Sandbox Code Playgroud)

使它成为一个属性:

@interface Class1
{
    int var;  // @protected by default
}
@property (readwrite, nonatomic) int var;
// methods...
@end

@implementation Class1
@synthesize var;
...
@end

// Inside a Class2 method:
Class1 *obj = ...;
obj.var = 3;  // implicitly calls [obj setVar:3]
int x = obj.var;  // implicitly calls x = [obj var];
Run Code Online (Sandbox Code Playgroud)

  • 恕我直言,财产方法要好得多 (2认同)

Rob*_*Rob 5

您可以将class2中的变量公开为属性.如果class1具有对class2的引用,则class1可以看到该变量.但老实说,这听起来像是Objective-C和面向对象编程的初学者.我建议你阅读更多内容.

这是一个使用Objective-C开始面向对象编程的地方.

  • "stackoverflow.com"仅适用于高级用户吗?如何定义谁是初学者,谁不是.这家伙没有提出问题在哪里学习Objective-C. (3认同)
  • 老实说同意@DariusMiliauskas:P (3认同)