当我打电话给Webservice时,如何检查数据库中的数据?
当我在设备中调用数据库时,我正在使用它
Listname = [db getdata];
但我需要使用Webservice检查数据库上的数据。我可以用这个
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSURL *imageURL = [NSURL URLWithString:[[Listname objectAtIndex:indexPath.item]coverURL]];
NSData *imageData = [NSData dataWithContentsOfURL:imageURL];
UIImage *image = [UIImage imageWithData:imageData];
[db initWithDB];
dispatch_async(dispatch_get_main_queue(), ^{
shelfcell.bookCover.image = [UIImage imageWithData:imageData];
});
});
我可以显示来自Web服务的图像,我可以显示来自数据库的图像,但我不知道如何检查我知道的数据只检查使用didSelectItemAtIndexPath:(NSIndexPath *)indexPath
当点击图像将检查数据但是如何从中获取数据cellForItemAtIndexPath:(NSIndexPath *)indexPath
我需要两个数据来检查版本。//感谢任何想法
修改
我使用didSelectItemAtIndexPath:(NSIndexPath *)indexPath
进行检查
if([db isDownloaded:ListName ListVersion:[ListVersion floatValue]]){
[self performSegueWithIdentifier:@"reader" sender:self];
}
else{
[self startDownload];
}
这是我的检查数据库
-(BOOL)isDownloaded:(NSString*)ListName ListVersion:(float)ListVersion {
.....
NSString *tempBook = [NSString stringWithUTF8String:(char *)sqlite3_column_text(searchStatement, 3)];
float tempBookVr = (float)sqlite3_column_double(searchStatement, 5);
NSString *tempVersion = [[NSNumber numberWithFloat:(float)sqlite3_column_double(searchStatement, 5)] stringValue];
if ([ListName isEqualToString:tempBook]) {
if (ListVersion == tempBookVr) {
sqlite3_finalize(searchStatement);
return YES;
}
else
{
.....
}
这个是didSelectItemAtIndexPath:(NSIndexPath *)indexPath
的工作,但我不知道cellForItemAtIndexPath:(NSIndexPath *)indexPath
的检查//感谢任何想法。