2014-02-15 5 views
1

Я создал пользовательский 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. Я делаю что-то неправильно? Некоторая помощь будет отличной.

+0

OMG .. Я очистил проект и он работает сейчас:/ –

ответ

1

Попробуйте с помощью следующего кода:

- (IBAction) viewForSessions:(SessionButton *)sender 
{ 
    SessionObject *obj = sender.sessionObj; 
    NSString *title = nil; 
    switch (obj.type) { 
    . 
    . 
} 
+0

свойство sessionObj не найден на объект типа боа боа боа он говорит. –

+0

Объявление о методе изменения - (IBAction) viewForSessions: (SessionButton *) отправитель – iPatel

+1

OMG .. Я очистил проект, и он работает сейчас:/ –

Смежные вопросы