self
您可以使用该对象来调用该方法,而不是创建您自己的类的实例。
然后,当您self
在方法中引用时,您将使用相同的实例。
所以,你应该把你的方法称为
[self runSomeMethod];
或者,如果您希望您的类始终引用一个对象,您可能需要考虑将您的类创建为单例类,即,无论如何 - 您的类将始终发出一个对象。
单例方式
要创建一个单例类,请转到您的MyMainClass.h
并添加此属性:
+ (MyMainClass *)singletonInstance;
然后在您的实现文件中,MyMainClass.m
添加以下代码:
//Just below @implementation MyMainClass
static MyMainClass* _singletonInstance = nil;
+(MyMainClass*)singletonInstance
{
@synchronized([MyMainClass class])
{
if (!_singletonInstance)
_singletonInstance = [[self alloc] init];
return _singletonInstance;
}
return nil;
}
+(id)alloc
{
@synchronized([MyMainClass class])
{
NSAssert(_singletonInstance == nil, @"Attempted to allocate a second instance of a singleton.");
_singletonInstance = [super alloc];
return _singletonInstance;
}
return nil;
}
这就对了。现在,每当您想调用MyMainClass
's 对象时,只需使用[[MyMainClass singletonInstance] runSomeMethod]
. 此外,当您self
现在使用时,它将引用同一个对象。