1

次のコードがあります。

- (IBAction)mapPressed:(id)sender
{
    MapViewController *mapVC = [[MapViewController alloc] initWithNibName:@"MapViewController" bundle:[NSBundle mainBundle]];
    mapVC.delegate = self;
    [self.navigationController pushViewController:mapVC animated:YES];
}

MapViewController の場合:

//MapViewController.h
@protocol MapViewDelegate
@required
- (void)selectedPlacemark:(MKPlacemark*)placemark;
@end
//...
@property (nonatomic, weak) id<MapViewDelegate> delegate;
//...

ARC が有効になっている場合でも、mapVC.delegate を nil に設定する必要がありますか? もしそうなら、これは MapViewController をローカルに作成して代わりにオブジェクトのインスタンス変数を設定することになっていないということですか?

4

1 に答える 1

0

この質問で、参照を nil に設定する必要がないことを確認しました。上記のコードですべてうまくいくはずです。

于 2012-04-20T10:10:04.660 に答える