Что является причиной этого сбоя? - PullRequest
0 голосов
/ 20 марта 2011

В моем приложении UIAlertView показывается каждый раз при запуске приложения, все работает нормально, если я не нажимаю кнопку «Отклонить», но если я нажимаю кнопку «Отклонить», приложение вылетает примерно через 3 секунды позже.

Я получил журнал сбоев с консоли, если кто-нибудь знает, почему он падает, пожалуйста, дайте мне знать

  2011-03-20 15:47:05.833 App[8080:207] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<NSCFString 0x6e04920> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key mystatsbutton.'
*** Call stack at first throw:
(
    0   CoreFoundation                      0x01a71be9 __exceptionPreprocess + 185
    1   libobjc.A.dylib                     0x01bc65c2 objc_exception_throw + 47
    2   CoreFoundation                      0x01a71b21 -[NSException raise] + 17
    3   Foundation                          0x001016cf _NSSetUsingKeyValueSetter + 135
    4   Foundation                          0x0010163d -[NSObject(NSKeyValueCoding) setValue:forKey:] + 285
    5   UIKit                               0x005808d6 -[UIRuntimeOutletConnection connect] + 112
    6   CoreFoundation                      0x019e82cf -[NSArray makeObjectsPerformSelector:] + 239
    7   UIKit                               0x0057f2ed -[UINib instantiateWithOwner:options:] + 1041
    8   UIKit                               0x00581081 -[NSBundle(UINSBundleAdditions) loadNibNamed:owner:options:] + 168
    9   UIKit                               0x00439a94 -[UIViewController _loadViewFromNibNamed:bundle:] + 70
    10  UIKit                               0x00437709 -[UIViewController loadView] + 120
    11  UIKit                               0x004375e3 -[UIViewController view] + 56
    12  App                            0x000084e2 -[LoadupView endview] + 132
    13  Foundation                          0x0011f7a5 __NSFireTimer + 125
    14  CoreFoundation                      0x01a52fe3 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 19
    15  CoreFoundation                      0x01a54594 __CFRunLoopDoTimer + 1220
    16  CoreFoundation                      0x019b0cc9 __CFRunLoopRun + 1817
    17  CoreFoundation                      0x019b0240 CFRunLoopRunSpecific + 208
    18  CoreFoundation                      0x019b0161 CFRunLoopRunInMode + 97
    19  GraphicsServices                    0x02349268 GSEventRunModal + 217
    20  GraphicsServices                    0x0234932d GSEventRun + 115
    21  UIKit                               0x0039842e UIApplicationMain + 1160
    22  App                            0x000022de main + 84
    23  App                            0x00002281 start + 53
)
terminate called after throwing an instance of 'NSException'

Ответы [ 4 ]

3 голосов
/ 21 марта 2011

Из сообщения об ошибке кажется, что вы загружаете контроллер представления из кончика, где кончик пытается подключить что-либо к розетке с именем mystatsbutton, но в классе нет розетки с таким именем.

3 голосов
/ 21 марта 2011

очень вероятно, что ваша память каким-то образом была очищена - вы думаете, что то, что знает о mystatsbutton, оказывается строкой NSSt, когда загружается соответствующая программа, а не каким-либо объектом на графике вашей NIB.

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

также может быть, что вы присвоили значение указателя объекту, который вы не намеревались. Иллюстрация: UIView * view = [NSString string];.

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

это наиболее распространенные причины. это может быть хорошим началом.

также неплохо удалить все предупреждения компилятора (с использованием высоких настроек), а также проблемы статического анализатора.

1 голос
/ 21 марта 2011

Проверьте свой XIB и убедитесь, что он не выделен серым цветом (Xcode 3.x) mystatsbutton. Просто убедитесь, что на вашей XIB нет ссылок. Если есть ссылка на нее, удалите ее, и вам будет хорошо.

1 голос
/ 21 марта 2011

Можете ли вы опубликовать интерфейс и реализацию вашего основного UIViewController?

Похоже, вы не связали IBOutlet со свойством mystatsbutton.

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