不工作(EXC_BAD_ACCESS)我做了我自己的類UIView的,包括的UIButton和它的方法:的UIButton中的ViewController
MyClass.h
@property (strong, nonatomic) UIView* mainBack;
@property (strong, nonatomic) UIButton* sortButton;
MyClass.m
- (id) initFor: (int) object {
if (self = [super init]) {
_mainBack = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 50)];
_sortButton = [UIButton buttonWithType:UIButtonTypeSystem];
_sortButton.frame = CGRectMake(10.0, 5.0, 60.0, 40.0);
[_sortButton addTarget:self action:@selector(ChangeSort) forControlEvents:UIControlEventTouchUpInside];
[_mainBack addSubview:_sortButton];
}
return self;
}
- (void) ChangeSort {
NSLog(@"change");
}
- (void) ShowBarOnView: (UIViewController*) view AtPoint: (CGPoint) point{
[_mainBack setFrame:CGRectMake(point.x, point.y, _mainBack.frame.size.width, _mainBack.frame.size.height)];
[view.view addSubview:_mainBack];
}
在視圖控制器我做了MyClass的實例,並調用的方法顯示視圖
MyClass* mySort = [[myClass alloc] initFor: rooms];
[mySort ShowBarOnView:self AtPoint:CGPointMake(0, 50)];
所以,我使用按鈕視圖,但是當被按下時,該應用程序崩潰和節目: EXC_BAD_ACCESS(碼= 1,地址=爲0x0)
有什麼不對?
謝謝。
調試器可以告訴你這一點。順便說一句,如果你不使用ARC,那麼'_sortButton = [UIButton buttonWithType:UIButtonTypeSystem]'行缺少'retain'。 – 2014-01-21 23:37:00
請更改您的班級名稱以獲得更好的做法,班級名稱應爲大寫字母'MyClass.m'而不是'myClass。m' – Malloc
可能是不相關的,但是你應該使用'self.'來訪問setter,getter,init和alloc方法以外的任何地方的實例變量。 – nhgrif