Не удается подключить UIButton к методу на iPhone - PullRequest
0 голосов
/ 06 августа 2011

Ладно, это на какое-то время сводит меня с ума, но иногда оно само исправляется, поэтому я справился с этим, но пришло время исправить это!

Ситуация следующая:

Вид, созданный в Интерфейсном Разработчике для iOS. Содержит UIButton, называемый «banana015»

Метод в моей реализации .m выглядит следующим образом:

- (IBAction)draggedOut: (id)sender withEvent: (UIEvent *) event {

    if ([[NSUserDefaults standardUserDefaults] integerForKey:@"edittingmode"] == 3) {

    UIButton *selected = (UIButton *)sender;
    selected.center = [[[event allTouches] anyObject] locationInView:self.view];
        if ([[NSUserDefaults standardUserDefaults] integerForKey:@"changeskin"] == 1) {
            [self scifiTempSave];
        }
        else if ([[NSUserDefaults standardUserDefaults] integerForKey:@"changeskin"] == 2) {
            [self bananaTempSave];
        }
        else if ([[NSUserDefaults standardUserDefaults] integerForKey:@"changeskin"] == 3) {
            [self orangeTempSave];
        }
    }
    else{}

} 

И объявлено в моем .h заголовке как

-(IBAction)draggedOut:(id)sender;

Теперь, когда я подключаю кнопку к методу draggedOut: в Интерфейсном Разработчике с помощью события Touch Drag Inside, я могу перетащить кнопку, когда создаю и запускаю проект (ожидаемое поведение), однако, когда я выпускаю приложение аварии.

В прошлом я был в состоянии подключиться к методу, который выглядит как "draggedout: withevent", который прекрасно работает. Этим вечером я подключил около 50 элементов к этой опции «draggedout: withevent», и она прекрасно работает для каждого - у меня, тем не менее, есть две кнопки UIB (идентичные почти во всех отношениях (разные точки привязки), к которым мне еще предстоит подключиться. это, и я буду проклят, если это позволит мне.

Кто-нибудь может помочь? Это приводило в бешенство в течение некоторого времени. Опция исчезает, но все те, которые я ранее подключил к ней, все еще работают отлично, я просто не могу подключить к ней ничего нового ... или старые, если я их отключаю.

1 Ответ

1 голос
/ 06 августа 2011

Единственная проблема, которую я вижу, состоит в том, что объявление вашего метода в заголовке не совпадает с вашей реализацией. Объявление заголовка должно быть первой строкой метода в реализации плюс точка с запятой:

- (IBAction)draggedOut: (id)sender withEvent: (UIEvent *) event;

Чтобы получить больше информации о сбое, попробуйте , установив NSZombieEnabled в true .

Чтобы ответить на ваш вопрос в комментарии, я не знаю, почему вы выбрали бы вариант draggedout: в дополнение к методу, включающему withEvent, если он не объявлен в вашем коде.

...