嘿,我有这段代码:
-(void)populateTexts{
self.texts = [[NSMutableArray alloc] init];
FMDatabase *db = [[FMDBDataAccess alloc] init];
self.texts = [db getTexts];
}
我一直收到错误: TextMsgViewController.m:41:17:使用“FMDBDataAccess *”类型的表达式初始化“FMDatabase * __ strong”的指针类型不兼容
TextMsgViewController.m:43:19:'FMDatabase'没有可见的@interface声明选择器'getTexts'
答案 0 :(得分:0)
错误:
TextMsgViewController.m:41:17:使用“FMDBDataAccess *”类型的表达式初始化“FMDatabase * __ strong”的指针类型不兼容
意味着它所说的。 [[FMDBDataAccess alloc] init]
创建FMDBDataAccess
类型的对象。但是您的变量db
被声明为FMDatabase *db
,因此它希望指向FMDatabase
类型的对象。 FMDatabase
和FMDBDataAccess
是不同的类型。
下一个错误:
'FMDatabase'没有可见的@interface声明选择器'getTexts'
同样简单明了。编译器查看FMDatabase
的接口,因为它是db
的类型。该类没有名为getTexts
的方法。因此,编译器无法确定返回类型,也无法验证您的代码。
您的意思是db
是FMDBDataAccess
类型吗?