2011-01-22 60 views
0

我使用Singleton类共享庞大的数据我从web服务来处理,这是我在我以前的应用做了也越来越。但随着新的ios 4.2不起作用,我不明白其原因,因为它与新的API /框架没有任何关系。Singleton类上的iOS 4.0及更早版本,但不工作的4.1和4.2 SDK

这是我单身的代码:

@interface SingleTon : NSObject { 

    NSMutableArray *hname; 

} 
+ (SingleTon *) sharedInstanceHname; 

//hname 
-(NSMutableArray *) getHname:(NSMutableArray *)x; 
-(void) setHname:(NSMutableArray *)x; 

.M类:

@implementation单 静态单* _sharedInstanceHname;

- (id) init 
{ 
if (self = [super init]) 
{ 
    // custom initialization 
    //memset(board, 0, sizeof(board)); 
    hname = [[NSMutableArray alloc] initWithObjects:@"NO RESULT",nil]; 

    index =1; 
} 
return self; 

}

+ (SingleTon *) sharedInstanceHname 
    { 
if (!_sharedInstanceHname) 
{ 
    _sharedInstanceHname = [[SingleTon alloc] init]; 
} 

return _sharedInstanceHname; 

}

- (NSMutableArray *) getHname:(NSMutableArray *)x 
{ 
return hname; 
    } 

- (void) setHname:(NSMutableArray *)x 
{ 
hname = x; 
} 

我在这里如何使用辛格尔顿存储在我的第一个观点值:

SingleTon *sname = [SingleTon sharedInstanceHname]; 
[sname setHname:hname]; 

这里是怎么了在第二个视图viewDidLoad方法中访问此设置值:

SingleTon *places = [SingleTon sharedInstanceHname]; 
NSLog(@"%@", [places getHname:getname]); 

我尝试了所有可能的保留释放,但没有用的......和高雅的错误也varies..some时间是“EXC_BAD_ACCESS”和一些其他时间

回答

2

调用initWithObjects:,你应该终止名单值为nil。除了这是您在准备示例时所犯的错字。

此外,有可能是您的setHname:方法的问题既不固定,也不复制值被赋予。

+0

好吧,我纠正它仍然同样的“EXC_BAD_ACCESS” – AKG 2011-01-22 23:56:58

相关问题