由 alloc init 创建的访问对象



我想使以下对象可由我的所有代码函数"公共"访问。

SomeObj *myobject = [[SomeObj alloc]init];

请注意,我已经通过以下代码初始化了接口内的对象,但我不起作用

Someobj *myobj;

但是当我使用 alloc init 时,它工作正常,但我不知道如何从另一个函数访问 myobj,例如

- void runcar() {
       Cars *mycar = [[Cars alloc]init];
       [mycar run];
}

我的问题如何阻止汽车使用另一个功能??

在界面中定义它:

@interface Cars ()
@property Cars *mycar;
@end

然后在 init 函数中初始化它:

@implementation Cars
- (instancetype)init
{
    if ((self = [super init])) {
         _mycar = [[Cars alloc]init];
    }
    return self;
}
@end

现在,您可以在类中的任何位置使用_mycar。 如果要将其用于公共文件,请在头文件中定义它。

最新更新