Я создал пользовательский 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
Моя проблема, после вызова селектора, то идентификатора имени отправителя кнопку, я проверил с NSLog. Но это не моя кнопка. У него нет инициализированного SessionObject, он возвращает nil. Я делаю что-то неправильно? Некоторая помощь будет отличной.
OMG .. Я очистил проект и он работает сейчас:/ –