首先,我轻视有激情的单身人士。虽然我可能应该尝试使用一个,但我就是不想。我想创建一个数据类(它只在加载时由视图控制器实例化一次),然后使用另一个类,将数据实例中的垃圾消息传出,直到它充满了如此多的数据,它笑了。
那么,我该怎么做呢?在实例化数据类时,我创建了一个指向数据类实例的指针。我现在在一个单独的视图控制器中,动作发生了,我想要更新初始数据对象。我想我需要通过指针的方式引用这个对象,但是我不知道该怎么做。是的,我已经设置了属性、getter和setter,它们似乎可以工作,但只在初始的视图控制器类中有效。
发布于 2010-06-18 07:13:39
如果你不喜欢这个模式或者它不适合你,那么就没有必要使用单例模式。假设您在第一个视图控制器中创建了第二个视图控制器,只需在第二个视图控制器中为模型对象声明一个ivar和属性,并在实例化它时,将模型对象分配给此属性。
发布于 2010-06-18 06:50:57
为您的对象创建一个全局变量,并在创建时将其存储在那里。您可以在init方法(可能不是很好的风格)中,或者从调用者或通过接口构建器将其连接起来。只要让你的变量在使用它的文件中是已知的。
或者--嗯--使用某种单例模式,直接从那个类中获取实例。看起来干净多了。
发布于 2010-06-18 06:55:14
认真使用单例。如果你不喜欢他们,因为你不知道代码:
@interface Order : NSObject {
NSMutableArray *order;
}
@property (nonatomic, retain) NSMutableArray *order;
+ (Order *)sharedInstance;
@end
#import "Order.h"
@implementation Order
@synthesize order;
+(Order *)sharedInstance {
static Order *myInstance = nil;
@synchronized(self) {
if(!myInstance) {
myInstance = [[Order alloc] init];
}
}
return myInstance;
}
-(void)dealloc {
[order release];
[super dealloc];
}
@endhttps://stackoverflow.com/questions/3066159
复制相似问题