2010-09-28 2 views
0

новенькое развития Iphone,XCode Ошибка для IPhone App

Мои приложения нагрузки, но затем он выходит из строя сразу, в консоли я получаю эту причину:

reason: '[<MyViewController 0x6939d60> setValue:forUndefinedKey:]:this class is not key value coding-compliant for the key delegate.'

Stack:

*** Call stack at first throw: 
(
    0 CoreFoundation      0x0273cb99 __exceptionPreprocess + 185 
    1 libobjc.A.dylib      0x0288c40e objc_exception_throw + 47 
    2 CoreFoundation      0x0273cad1 -[NSException raise] + 17 
    3 Foundation       0x000310f3 _NSSetUsingKeyValueSetter + 135 
    4 Foundation       0x00031061 -[NSObject(NSKeyValueCoding) setValue:forKey:] + 285 
    5 UIKit        0x004af70a -[UIRuntimeOutletConnection connect] + 112 
    6 CoreFoundation      0x026b2d0f -[NSArray makeObjectsPerformSelector:] + 239 
    7 UIKit        0x004ae121 -[UINib instantiateWithOwner:options:] + 1041 
    8 UIKit        0x004afeb5 -[NSBundle(UINSBundleAdditions) loadNibNamed:owner:options:] + 168 
    9 UIKit        0x0036595f -[UIViewController _loadViewFromNibNamed:bundle:] + 70 
    10 UIKit        0x00363675 -[UIViewController loadView] + 120 
    11 UIKit        0x0036354f -[UIViewController view] + 56 
    12 HalloweenNoise      0x0000238d -[MyAppDelegate application:didFinishLaunchingWithOptions:] + 74 
    13 UIKit        0x002b9f27 -[UIApplication _callInitializationDelegatesForURL:payload:suspended:] + 1163 
    14 UIKit        0x002bc3b0 -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 346 
    15 UIKit        0x002c63ec -[UIApplication handleEvent:withNewEvent:] + 1958 
    16 UIKit        0x002beb3c -[UIApplication sendEvent:] + 71 
    17 UIKit        0x002c39bf _UIApplicationHandleEvent + 7672 
    18 GraphicsServices     0x0301c822 PurpleEventCallback + 1550 
    19 CoreFoundation      0x0271dff4 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 52 
    20 CoreFoundation      0x0267e807 __CFRunLoopDoSource1 + 215 
    21 CoreFoundation      0x0267ba93 __CFRunLoopRun + 979 
    22 CoreFoundation      0x0267b350 CFRunLoopRunSpecific + 208 
    23 CoreFoundation      0x0267b271 CFRunLoopRunInMode + 97 
    24 UIKit        0x002bbc6d -[UIApplication _run] + 625 
    25 UIKit        0x002c7af2 UIApplicationMain + 1160 
    26 My      0x00002320 main + 102 
    27 My      0x000022b1 start + 53 

Вот мое IBOutlet Ссылки (я думаю):

@property (nonatomic, retain) IBOutlet UIWindow *window; 
@property (nonatomic, retain) IBOutlet MyViewController *viewController; 

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

+2

Если вы действительно пытаетесь это сделать для Хэллоуина - заходите, чтобы все ваши вещи разработчика Apple делались как можно скорее - это занимает больше времени, чем вы думаете - значит, заплатите $ 99, заполните юридическую и финансовую информацию - они должны проверить. –

+0

Спасибо за вашу информацию, сэр, я думал об этом на этой неделе, вы думаете, что это произойдет вовремя? –

+0

Это может быть плотно. Apple провела пару недель, чтобы проверить, что моя компания реальна. Кроме того, при отправке на SO (или любой публичный форум), измените свои имена. Замените отличительные имена на «MyViewController» или аналогичные, как минимум, кто-то решит пригласить вас в магазин. –

ответ

3

Откройте свой XIB в IB и посмотрите ссылки MyViewController. Будет включена входящая ссылка на «делегировать», которую необходимо удалить.

+0

Спасибо за ваше редактирование :) –

2

Контроллер вашего вида не должен быть отмечен, вероятно, IBOutlet. Разве он не дал вам stacktrace - с файлом и строкой № кода, который имеет эту проблему?

Что вы делаете с выходом ViewController? Вы связали это с чем-то в IB?

+0

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

2

Убедитесь, что ваши розетки подключены правильно в IB. У меня была эта ошибка, когда я меняю имя IBOutlet, но забудьте изменить соединение в IB на новый IBOutlet (он все еще пытается подключиться к старому имя переменной)