我是iOS新手。我试图在prepareforsegue方法中的视图控制器中设置一个bool,导致该视图控制器。当我尝试设置bool时,我收到一个EXC_BAD_ACCESS错误。我该怎么做才能解决这个问题?
addBookViewController *addViewController = [segue destinationViewController];
Book *temp = [self.dataController objectInListAtIndex:[self.tableView indexPathForSelectedRow].row];
addViewController.book = temp;
*addViewController.editMode=YES; //EXC_BAD_ACCESS (Code =0, address=0x0)
这是目标视图控制器的头文件:
@interface addBookViewController : UITableViewController <UITextFieldDelegate>
@property (strong, nonatomic) Book *book;
@property (assign) BOOL *editMode;
@end
答案 0 :(得分:2)
BOOL
不是对象类型,它是基元(标量)。你不需要指针。变化
@property (assign) BOOL *editMode;
到
@property (assign) BOOL editMode;
并且还要改变
*addViewController.editMode=YES;
到
addViewController.editMode=YES;
请阅读关于C指针的教程。
答案 1 :(得分:1)
BOOL不是一个类,它是一个简单的类型,如int或float。摆脱星号。
答案 2 :(得分:0)
而不是
*addViewController.editMode=YES;
应该是
addViewController.editMode=YES;
也不是
@property (assign) BOOL *editMode;
但
@property (readwrite,assign) BOOL editMode;
答案 3 :(得分:0)
BOOL不是一个对象,所以你不能为指针定义是/否。