我是 ios 的新手,我尝试编写一个简单的单例对象来在 Controller 之间共享数据。这是我的代码:
#import <Foundation/Foundation.h>
#import "SynthesizeSingleton.h";
@interface BSStore : NSObject
+(BSStore *)sharedStore;
@property (nonatomic,strong) NSArray *sharedNotebooks;
@end
#import "BSStore.h"
@implementation BSStore
SYNTHESIZE_SINGLETON_FOR_CLASS(BSStore)
@synthesize sharedNotebooks;
@end
//在AppDelegate中写入对象
[BSStore sharedStore].sharedNotebooks = notebooks;
//读取ViewController中的对象
Notebook *notebook = [[BSStore sharedStore].sharedNotebooks objectAtIndex:indexPath.row];
我得到:
2012-10-04 02:01:29.053 BarneyShop[1827:f803] +[BSStore sharedStore]: unrecognized selector sent to class 0x69b8
2012-10-04 02:01:29.073 BarneyShop[1827:f803] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[BSStore sharedStore]: unrecognized selector sent to class 0x69b8'
*** First throw call stack:
最佳答案
这是你的 Singleton 类的样子:
#import "BSStore.h"
@implementation BSStore
@synthesize sharedNotebooks;
+ (BSStore *) sharedStore
{
static BSStore * singleton;
if ( ! singleton)
{
singleton = [[BSStore alloc] init];
}
return singleton;
}
@end
现在你可以调用:
[BSStore sharedStore].sharedNotebooks;
关于ios - 使用单例获取 "unrecognized selector sent to class",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12718164/