我正在尝试创建单例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
请指出正确的方向,谢谢。
答案 0 :(得分:0)
似乎没有必要在这里创建一个单例类。只是在某处有一个类或实例方法
- (NSDictionary *)trees
和与返回单例的方法相同的实现,但只创建一个单独的NSDictionary一次。
像“树”这样的属性应该用小写字母写成:“树”,而不是“树”。 实例变量应以下划线开头,所以
[_trees addObject:@"Berzas"];
这样做是为了让你始终可以区分使用访问器方法和访问实例变量;它们不是同一件事。通常,您只能访问init方法中的实例变量,以及实现属性的getter和setter。