日々精進

新しく学んだことを書き留めていきます

謎のEXC_BAD_ACCESS

EXC_BAD_ACCESSが出たけど、どの変数もZombieになってないしコンソールにもエラーの発生箇所が出てないしなんだこりゃと思ったら参照を渡さないといけない引数にprimitive型を渡していた。

- (IBAction)editButtonTouch:(UIBarButtonItem *)sender {
    [[NSNotificationCenter defaultCenter] postNotificationName:EDITING_NOTIFICATION 
    object:self.tableView.editing]; //このeditingがBOOL型だったのでエラーになった
}

下記のようにNSNumberでラップしたら直った。

- (IBAction)editButtonTouch:(UIBarButtonItem *)sender {
    NSNumber *editing = [NSNumber numberWithBool:self.tableView.editing];
    [[NSNotificationCenter defaultCenter] postNotificationName:EDITING_NOTIFICATION 
    object:editing];
}