我使用此代碼創建了一個自定義UIButton。自定義UIButton, - (IBAction)操作:(id)發送失敗
@implementation SessionButton
- (id)initWithFrame:(CGRect)frame withSessionObject:(SessionObject*)obj
{
self = [super initWithFrame:frame];
if (self) {
self.sessionObj = obj;
}
return self;
}
@end
而與此分配...
SessionButton *button = [[SessionButton alloc] initWithFrame:CGRectMake(70, (startHour - 7)*80 + startMinute + 2, 220, height -4) withSessionObject:obj];
當我嘗試用NSLog的檢查它,它是完美的。我用我的對象初始化了按鈕。
現在我必須採取行動。所以我寫了這個。
[button addTarget:self
action:@selector(viewForSessions:)
forControlEvents:UIControlEventTouchUpInside];
這裏是viewForSessions方法:
- (IBAction) viewForSessions:(id)sender {
SessionButton *mBut = (SessionButton*) sender;
SessionObject *obj = mBut.sessionObj;
NSString *title = nil;
switch (obj.type) {
case 2:
title = @"Konferans";
break;
case 3:
title = @"Panel";
break;
case 4:
title = @"İnteraktif";
break;
case 5:
title = @"Forum";
break;
} //and it goes on....... a bit long
我的問題是,調用選擇後,命名爲發件人一個按鈕ID,我與NSLog的檢查。但它不是我的按鈕。它沒有任何初始化的SessionObject,它返回nil。難道我做錯了什麼?一些幫助會很好。
OMG ..我清理項目和現在的工作:/ –