分配一个简单的bool时EXC_BAD_ACCESS

时间:2012-10-30 23:49:20

标签: objective-c ios

我是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

4 个答案:

答案 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不是一个对象,所以你不能为指针定义是/否。