我正在读取一个从tableview行推出的详细视图的字典条目 但是在详细视图中,当我拿起要显示的数据(作为HTML页面)时,我收到了消息:
不兼容的Objective-C类型初始化'struct NSDictionary *'。预期'struct NSString *'
我做错了什么以及如何纠正?
代码在这里:
- (void)viewDidAppear:(BOOL)animated {
NSLog(@"didappear");
NSString *url = definition; // WARNING MESSAGE IS HERE
//self.glossaryWordDefinition.text = definition;
[glossaryWordDefinition loadRequest:
[NSURLRequest requestWithURL:
[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:url ofType:@"html"]
isDirectory:NO]]];
[super viewDidAppear:animated];
}
答案 0 :(得分:1)
您的'定义'变量似乎被声明为NSDictionary *,并且您尝试将其分配给NSString *。你可能意思是这样的:
NSString *url = [definition valueForKey:@"some key"];
答案 1 :(得分:0)
根据我从给定数据中理解,尝试这个,
NSString *url = [definition objectAtIndex:row];
row是在didSelectIndexPath方法
中声明的所选行的索引路径值NSInteger row = [indexPath row];