0

最近、特定の UIViewController サブクラスの xib を削除しました。ただし、それ以来、シミュレーターではなく、デバイスでのみ次のエラーが発生しています。

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

以前に XIB で btnBack を IBOutlet として設定していたので、そのプロパティを削除しました。

XIB が削除され、プロジェクトを何度もクリーンアップしましたが、この問題は解決しません。

コード内でこのプロパティが設定されている場所を見つけたり、XCode でこの問題を解決するにはどうすればよいですか?

編集:これを明確にするために:

  • xib は以前は存在していましたが、その後削除されました。
  • すべての IBOutlet プロパティも削除されました。
  • viewController のインスタンス化は、コードのみを使用して行われます。
  • プロパティを削除していなければ、これは起こりませんでした。
  • これはおそらく XCode のバグであり、誰かがこの問題に直面して解決したことを願っています。
4

2 に答える 2

0

実際に何が起こったのかはわかりませんが、クラスの -init メソッドをまだオーバーライドしていませんでした。

次のようにすべての init メソッドをオーバーライドした後:

-(instancetype)init
{
    if (self = [super init])
    {

    }

    return self;
}

-(instancetype)initWithCoder:(NSCoder *)aDecoder
{
    if (self = [super initWithCoder:aDecoder])
    {

    }

    return self;
}

-(instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil])
    {

    }

    return self;
}

すべてがうまくいきました。

于 2015-11-26T08:56:32.313 に答える