Memor.の 2010-06-21 19:57 采纳率: 50%
浏览 476
已采纳

这意味着什么? "'NSUnknownKeyException',原因: ... 此类不与键 x 兼容

I'm trying to link a UILabel with an IBOutlet created in my class.

My application is crashing with the following error. What does this mean? How can I fix it?

*** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<UIViewController 0x6e36ae0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key XXX.'

转载于:https://stackoverflow.com/questions/3088059/what-does-this-mean-nsunknownkeyexception-reason-this-class-is-not-key-v

  • 写回答

30条回答 默认 最新

  • 谁还没个明天 2014-03-06 19:57
    关注

    Your view controller may have the wrong class in your xib.

    I downloaded your project.

    The error you are getting is

    'NSUnknownKeyException', reason: '[<UIViewController 0x3927310> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key string.'

    It is caused by the Second view controller in MainWindow.xib having a class of UIViewController instead of SecondView. Changing to the correct class resolves the problem.

    By the way, it is bad practice to have names like "string" in Objective-C. It invites a runtime naming collision. Avoid them even in once off practice apps. Naming collisions can be very hard to track down and you don't want to waste the time.

    Another possible reason for this error: when copying & pasting elements from one controller into another, Xcode somehow keeps that link to the original controller, even after editing & relinking this element into the new controller.

    Another possible reason for this error:

    Bad Outlet.

    You have either removed or renamed an outlet name in your .h file.

    Remove it in .xib or .storyboard file's Connection Inspector.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(29条)

报告相同问题?