0

我正在使用带有 TableView 和 plist 文件的情节提要,使用以下来源:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

    if ([@"detailList" isEqual:segue.identifier]) {

        NSIndexPath *index = [self.tableView indexPathForCell:sender];
        DetailViewController *detail = [_saved objectAtIndex:index.row];
        [[segue destinationViewController] setSaved:detail];
    }
}

并且工作,如果我点击一张桌子,segue会向我显示正确的内容,但在一行:

[[segue destinationViewController] setSaved:detail];

我有警报说:

不兼容的指针类型将“DetailViewController *__strong”发送到“NSMutableArray *”类型的参数

我必须做些什么来修复和删除此警报?

谢谢

4

1 回答 1

0

您正在将可变对象(从NSMutableArray)发送到不可变对象(NSDictionary

@property (nonatomic, strong) NSDictionary *saved;

这里NSDictionary是不可变的,你正在从NSMutableArray(它的可变)发送对象。

所以只需制作可变字典

@property (nonatomic, strong) NSMutableDictionary *saved;
于 2013-03-19T11:51:00.863 回答