Взаимодействовать с контроллером представления из другого контроллера представления - PullRequest
2 голосов
/ 01 декабря 2010

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

Код:

- (IBAction)buttonClicked:(id)sender {

    iPhotoViewController *photo = [[iPhotoViewController alloc] initWithNibName:@"iPhotoViewController" bundle:nil]  ;


    if (photo.mainView.image)
    {
        but = (UIButton *) sender;
        self.selectedImage = [_images objectAtIndex:but.tag];

        iPhoto2AppDelegate *delegate = [[UIApplication sharedApplication] delegate];
        [delegate.navController popViewControllerAnimated:YES];

        [photo release];
    }

Спасибо, Правин

Ответы [ 2 ]

1 голос
/ 01 декабря 2010

Вы создаете новый экземпляр iPhotoViewController, что означает, что изображение, которое вы хотите использовать, должно быть доступно в файле пера. А доступность в файле пера означает, что он доступен в вашем проекте, поэтому создание нового iPhotoViewController просто для того, чтобы посмотреть, есть ли это изображение, кажется немного странным.

Возможно, уже есть экземпляр этого iPhotoViewController где-нибудь, где вы загрузили изображение? Если это так, то это экземпляр, который вы должны проверить.

Но, возможно, вы что-то тестируете, установили изображение в перо и просто хотите убедиться, что оно работает. В этом случае причина photo.mainView.image не установлена ​​в том, что вы создали только контроллер вида, но вид, который еще не был загружен и настроен из пера. Чтобы имитировать это, вам нужно получить доступ к свойству view контроллера, прежде чем проверять, установлено ли изображение.

iPhotoViewController *photo = [[iPhotoViewController alloc] initWithNibName:@"iPhotoViewController" bundle:nil] ;

[photo view];
if (photo.mainView.image) {
// continue as before
0 голосов
/ 01 декабря 2010

вы определили оба

@property(nonatomic, retain) UIImage * image;  // (or UIImageView *)

в вашем .h и

@synthesize image;

в твоем .m?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...