IOS 5 блок нераспознанный селектор - PullRequest
0 голосов
/ 05 января 2012

Я пытаюсь назначить блок объекту кнопки, чтобы каждый раз при нажатии кнопки блок выполнялся.У меня есть следующий определенный подкласс кнопки, который содержит блок для каждой уникальной кнопки, которую я создаю.

typedef void (^ButtonPressBlock)();
@interface PhotoButton : UIButton 
{
    ButtonPressBlock photoButtonPressed;
}
@property (copy) ButtonPressBlock photoButtonPressed;
@end

Существует @synthesize photoButtonPressed в .m

В отдельном UIViewController I #import«PhotoButton.h», а затем в этом контроллере представления у меня есть метод, который создает кнопки.Код выглядит так.

    PhotoButton* photoButton = [UIButton buttonWithType:UIButtonTypeCustom];
        photoButton.frame = CGRectMake(i, j, thumbSize+2, thumbSize+2);
        [photoButton setImage:photoThumb forState:UIControlStateNormal];
        [photoButton setAdjustsImageWhenHighlighted:NO];

        [photoButton setPhotoButtonPressed:^()
             {                                                    
             [self performSegueWithIdentifier:@"photoSegue" sender:aPhoto];
         }];

при назначении блока для photoButton происходит сбой при

- [UIButton setPhotoButtonPressed:]: нераспознанный селектор, отправленный экземпляру ...

Не уверенЯ делаю неправильно, так как блоки являются новыми для меня.Я подумал, что это будет отличным способом сделать уменьшенное изображение чувствительным к прикосновению, а затем перейти к полноразмерному изображению в другом контроллере представления.Теперь я не уверен.

1 Ответ

1 голос
/ 05 января 2012

Это:

PhotoButton* photoButton = [UIButton buttonWithType:UIButtonTypeCustom];

должно быть:

PhotoButton* photoButton = [PhotoButton buttonWithType:UIButtonTypeCustom];

Вы создавали экземпляр UIButton, а не PhotoButton

...