我有一個屬性,當啓動一個新的視圖控制器時被設置。loadView無法訪問我的屬性,拋出EXC_BAD_ACCESS
- (IBAction)headerPressed:(UIButton *)sender {
RouteViewController *route = [[RouteViewController alloc] initWithRoute:[[Route getRoute:TEST_ROUTE] autorelease]];
[[self navigationController] pushViewController:circle animated:NO];
}
在新的視圖,它是一個UIViewController
RouteViewController.h
@interface =RouteViewController : UIViewController <MKMapViewDelegate> {
Route *r;
}
-(id)initWithRoute:(Route *)route;
@property (retain, nonatomic) Route *r;
RouteViewController.m
-(id)initWithRoute:(Route *)route{
self = [super init];
r = route;
return self;
}
- (void)loadView {
[super loadView];
NSLog(@"TEST: %d", r.Route); // throws exception. Actually ANY time I access my r property
}
r.Route
是整型VALU e表示const TEST_ROUTE
包含。
現在,當我安裝我的斷點,AT的的NSLog的時間,檢查顯示我的對象包含
Self >
r >
Route: 1
和
r >
Route: 1
那麼該屬性是可用的,而且它含有正確的數據。但是當我嘗試訪問屬性時,它會拋出一個EXC_BAD_ACCESS。
想法? :)(這是在這裏殺死我!)
我很欣賞不僅回答得很快,而且回答正確,提供了額外的信息和替代方法,而且不會質疑爲什麼事情會按照它的方式完成(我有點看着你的Matt> _>從別人那裏傳給我的項目沒有機會以清理任何東西:p) – RedactedProfile
正如在另一個答案中提到的,我更習慣於弧,我不知道我必須「保留」在那裏。如果XCode比「EXC_BAD_ACCESS」更加明顯地握住我的手,那麼也可能會有所幫助 – RedactedProfile