我是编码的新手,我不完全理解下面的警告。我相信它与使用ReaderView委托和TableView控制器中的模态表示有关,但这是我的一个猜测。我尝试使用带有可重用单元的View控制器重建,但继续收到警告。以下是我的代码。任何有关如何解决此警告的问题和建议的见解将不胜感激?
编译说:
Warning: Assigning to 'id ReaderViewControllerDelegate' from incompatible type'PdfVPTableViewController *const_strong'
我的代码:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
int row = [indexPath row];
NSArray * path4 = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString * path5 = [path4 objectAtIndex:0];
NSString *path6 = [path5 stringByAppendingPathComponent:_pdfList[row]];
if([[NSFileManager defaultManager] fileExistsAtPath:path6]) {
ReaderDocument *document = [ReaderDocument withDocumentFilePath:path6 password:nil];
if (document != nil)
{
ReaderViewController *readerViewController = [[ReaderViewController alloc] initWithReaderDocument:document];
readerViewController.delegate = self;
readerViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
readerViewController.modalPresentationStyle = UIModalPresentationFullScreen;
[self presentViewController:readerViewController animated:YES completion:nil];
}
} else {UIAlertView *message = [[UIAlertView alloc] initWithTitle:@"File Problem, Select Another Photo Page" message:nil delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[message show];
}
}
- (void)dismissReaderViewController:(ReaderViewController *)viewController {
[self dismissViewControllerAnimated:YES completion:nil];
}
答案 0 :(得分:0)
您的PdfVPTableViewController
类似乎不符合ReaderViewControllerDelegate
协议(很难从提供的代码中说)。编译器要求从应该分配给readerViewController.delegate
的对象。尝试将委托放在标题中(或在类别块中的* .m文件中):
#import "ReaderViewController.h"
@interface PdfVPTableViewController : UITableViewController <ReaderViewControllerDelegate>
{
//...
}
@end
如果你已经有了这个,那么也许你应该在问题中添加更多代码。 希望这会有所帮助。