使用singleton创建一个数组并在TableView中声明它

时间:2014-03-04 17:58:47

标签: ios objective-c uitableview

我正在尝试创建单例NSMutableArray,因此我可以在TableView上将其用作标题。如何在TableView中声明它?

e.g。

cell.textLabel.text = ??? //Don't know how to declare it from the singleton.

这是我的singleton.m:

#import "Singleton.h"

@implementation Singleton
@synthesize Trees;


+(Singleton *) theTrees {

    static dispatch_once_t pred;
    static Singleton *theTrees = nil;
    dispatch_once(&pred, ^ {
        theTrees = [[Singleton alloc] init];
        theTrees.Trees = [[NSMutableArray alloc] init];

                  });
    return theTrees;
}

-(id) init {
    self = [super init];
    if(self) {

        // Variables
        [Trees addObject:@"Berzas"];
        [Trees addObject:@"Liepa"];
        [Trees addObject:@"Drebule"];
    }
    return self;
}

@end

请指出正确的方向,谢谢。

1 个答案:

答案 0 :(得分:0)

似乎没有必要在这里创建一个单例类。只是在某处有一个类或实例方法

- (NSDictionary *)trees

和与返回单例的方法相同的实现,但只创建一个单独的NSDictionary一次。

像“树”这样的属性应该用小写字母写成:“树”,而不是“树”。 实例变量应以下划线开头,所以

[_trees addObject:@"Berzas"];

这样做是为了让你始终可以区分使用访问器方法和访问实例变量;它们不是同一件事。通常,您只能访问init方法中的实例变量,以及实现属性的getter和setter。