2012-03-18 1 views
0

Если я пытаюсь отправить действие на пользовательский объект, я получаю EXC_BAD_ACCESS. Я тестировал с и без UIStoryboard и с ARC и без него. Действительно странно. Кажется, что объект правильно создан. - (id) init вызывается и - (void) awakeFromNib. В test-xib я добавил объект и связал его с пользовательским классом. Я могу без проблем подключать IBOutlets. Только действия рушится. Есть идеи?Отправка действия на пользовательский объект сбой приложения в ios5.1, xcode 4.3.1

SimpleObj.m

#import <UIKit/UIKit.h> 

@interface SimpleObj : NSObject 
-(IBAction)simpleTest:(id)sender; 
@end 

SimpleObj.h

#import "SimpleObj.h" 
@implementation SimpleObj 
-(IBAction)simpleTest:(id)sender{ 
    NSLog(@"Test"); 
} 
@end 
+0

Тестирование с помощью NSZombieEnabled сообщает мне, что пользовательский объект уже выпущен. Таким образом, пользовательский объект создается и освобождается сразу ... Единственный способ удерживать этот пользовательский объект - это связать его с владельцем файлов? – fragglechen

+0

Как вы сами выяснили, проблема заключается в инициализации и использовании объекта, а не в коде IBAction. Вы должны, возможно, разместить соответствующий код, чтобы ответить на этот вопрос. – Mundi

+0

@fragglechen, справа, локальные переменные будут либо выпущены, либо пропущены, и ссылка будет недействительной. –

ответ

0

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

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