如何制作全局属性(setter和getter)?

时间:2012-12-06 15:30:30

标签: iphone objective-c ios ios5 ios6

我需要创建一个对象,例如NSString,让其他类获取/设置它的值。

THX。求助:)

2 个答案:

答案 0 :(得分:4)

最简单的方法是将值作为属性附加到某个类的单例实例。应用程序中已存在的一个单例实例是应用程序委托。因此,只需向应用程序委托添加NSString属性,您就可以从应用程序中的任何类访问它(只要您#import您的应用程序委托)。

在您的申请代表中:

@property(nonatomic, strong) NSString* someString;

在其他课程中:

[self doSomethingWithAString:((YourAppDelegateClass*)[[UIApplication sharedApplication] delegate]).someString];

答案 1 :(得分:1)

创建一个Singleton / Shared类。

@implementation SINGLETON

static SINGLETON *instance = nil;

+(SINGLETON*)sharedInstance{
    @synchronized(self) {   
        if (instance == nil) {
            instance = [[SINGLETON alloc] init];
        }
        return instance;
    }
 }

编辑:

这会很方便...... Objective-C Singleton problem. Object recognized in one class but not another