Objective c sqlite故障读取
我有一个favDatabase,它从我的数据库中读取数据: h m 现在在我的收藏夹视图中,我尝试读取数据:Objective c sqlite故障读取,objective-c,xcode4.3,Objective C,Xcode4.3,我有一个favDatabase,它从我的数据库中读取数据: h m 现在在我的收藏夹视图中,我尝试读取数据: favDatabase *fav = (favDatabase *)[UIApplication sharedApplication]; return fav.idSPBData.count; 但是,它崩溃了: 2012-09-03 13:44:13.692 usualBike[1857:11603] -[UIApplication idSPBData]: unrecognized
favDatabase *fav = (favDatabase *)[UIApplication sharedApplication];
return fav.idSPBData.count;
但是,它崩溃了:
2012-09-03 13:44:13.692 usualBike[1857:11603] -[UIApplication idSPBData]: unrecognized selector sent to instance 0x6e2f5a0
2012-09-03 13:44:13.693 usualBike[1857:11603] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIApplication idSPBData]: unrecognized selector sent to instance 0x6e2f5a0'
我使用的是Xcode 4.3,这是发行版的问题吗?在委托类中保留一个保存数据库的属性变量,然后调用:
favDatabase *fav = (favDatabase *)((AppDelegate*)[UIApplication sharedApplication].myFavDatabase);
假设AppDelegate
是您的主要委托
另一种方法是使您的DB实例成为单实例:
+(favDatabase *)sharedManager{
static dispatch_once_t pred;
static favDatabase *shared = nil;
dispatch_once(&pred, ^{
shared = [[favDatabase alloc] init];
});
return shared;
}
使用:
@interface favDatabase : UIResponder <UIApplicationDelegate>
@property (nonatomic) favDatabase *myFavDatabase;
@接口favDatabase:UIResponder
@属性(非原子)favDatabase*myFavDatabase;
这绝对不是Xcode的问题。共享应用程序是UIApplication的实例,而不是favDatabase类。UIApplication显然没有方法名idSBData.idSPBData是favDatabase中的NSMutableArray(其in.h)是,但共享应用程序实例不是favDatabase的实例。这是应用程序的一个例子。你不能只指着一块石头,称它为飞机,然后说它坏了,因为它不能飞到你最喜欢的度假目的地。这是你的意思吗@接口AppDelegate:UIResponder{favDatabase*fav;}我相应地修改了答案(并更改了变量名)。尝试使用大写字母作为类的第一个字母,以避免与变量混淆。
+(favDatabase *)sharedManager{
static dispatch_once_t pred;
static favDatabase *shared = nil;
dispatch_once(&pred, ^{
shared = [[favDatabase alloc] init];
});
return shared;
}
@interface favDatabase : UIResponder <UIApplicationDelegate>
@property (nonatomic) favDatabase *myFavDatabase;