Получить переменную в другой класс через свойства или теги кнопок с помощью Iphone SDK? - PullRequest
0 голосов
/ 24 марта 2010

Я колотил головой о стену, пытаясь понять, что, по-моему, легко сделать, но до сих пор не смог понять это с помощью iPhone SDK. У меня есть вид с 4 кнопками. Когда я нажимаю на кнопки, у меня вызывается другой вид, и я подхожу к экрану. Я хочу, чтобы простая переменная передавалась из старого представления в новое представление. Цель этого - узнать, какая кнопка была нажата из четырех одинаковых. (пытается получить значение от 1 до 4) Вот что я пробовал до сих пор:

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

Затем я попытался создать метод, который бы возвращал значение int. Снова, класс представления не был замечен и был объявлен как его «первое использование».

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

Я просто ищу, какой метод будет наилучшим для меня. У меня нет проблем, возвращаясь и читая книги по Objective-C, но я просто пытаюсь понять, на каком пути мне следует сосредоточиться. Спасибо за понимание.

1 Ответ

0 голосов
/ 24 марта 2010

Примерно так должно работать:

    button.tag = <whatever the tag value should be>;
    [button addTarget: self selector: @selector(onTouchDown:) forControlEvents: UIControlEventTouchDown];

    - (void) onTouchDown: (id) sender
    {
        int tag = ((UIView*)sender).tag;

        UIViewController *vc = [[MyVC alloc] initWithID: tag];
        // display the view for the vc    
    }

Кстати, я считаю, что NSNotification очень полезен для передачи результатов на родительский контроллер.

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