NSInternalInconsistencyExceptionException无法在束中加载nib

问题描述

| 我已经为儿童游戏创建了一个应用程序。 每轮加载12个不同的问题。在第四轮之后,应用程序崩溃并显示以下日志:
ImageIO: CGImageRead_mapData \'open\' failed \'/var/mobile/Applications/4B0202F9-5961-4AC7-A327-604620AF1F94/test.app/pi_ok.png\'
         error = 24 (Too many open files)


2011-03-24 02:26:34.743 [424:707] *** Terminating app due to uncaught exception \'NSInternalInconsistencyException\',reason: \'Could not load NIB in bundle: \'NSBundle </var/mobile/Applications/4B0202F9-5961-4AC7-A327-604620AF1F94/VisualMath.app> (loaded)\' with name \'ThemePickerController\'\'
*** Call stack at first throw:
(
    0   CoreFoundation                      0x3182464f __exceptionPreprocess + 114
    1   libobjc.A.dylib                     0x3651dc5d objc_exception_throw + 24
    2   CoreFoundation                      0x31824491 +[NSException raise:format:arguments:] + 68
    3   CoreFoundation                      0x318244cb +[NSException raise:format:] + 34
    4   UIKit                               0x330d2a53 -[UINib instantiateWithOwner:options:] + 1110
    5   UIKit                               0x330d3e09 -[NSBundle(UINSBundleAdditions) loadNibNamed:owner:options:] + 92
    6   UIKit                               0x3304d5e9 -[UIViewController _loadViewFromNibNamed:bundle:] + 36
    7   UIKit                               0x3301afa5 -[UIViewController loadView] + 80
    8   UIKit                               0x32effebf -[UIViewController view] + 30
    9   VisualMath                          0x00062875 -[DragTriangleViewController hideThemePicker] + 40
    10  VisualMath                          0x0005fe93 -[DragTriangleViewController clickDone] + 26
    11  CoreFoundation                      0x31794571 -[NSObject(NSObject) performSelector:withObject:withObject:] + 24
    12  UIKit                               0x32ee5ec9 -[UIApplication sendAction:to:from:forEvent:] + 84
    13  UIKit                               0x32ee5e69 -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 32
    14  UIKit                               0x32ee5e3b -[UIControl sendAction:to:forEvent:] + 38
    15  UIKit                               0x32ee5b8d -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 356
    16  UIKit                               0x32ee6423 -[UIControl touchesEnded:withEvent:] + 342
    17  UIKit                               0x32ee4bf5 -[UIWindow _sendTouchesForEvent:] + 368
    18  UIKit                               0x32ee456f -[UIWindow sendEvent:] + 262
    19  UIKit                               0x32ecd313 -[UIApplication sendEvent:] + 298
    20  UIKit                               0x32eccc53 _UIApplicationHandleEvent + 5090
    21  GraphicsServices                    0x32977e77 PurpleEventCallback + 666
    22  CoreFoundation                      0x317fba97 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 26
    23  CoreFoundation                      0x317fd83f __CFRunLoopDoSource1 + 166
    24  CoreFoundation                      0x317fe60d __CFRunLoopRun + 520
    25  CoreFoundation                      0x3178eec3 CFRunLoopRunSpecific + 230
    26  CoreFoundation                      0x3178edcb CFRunLoopRunInMode + 58
    27  GraphicsServices                    0x3297741f GSEventRunModal + 114
    28  GraphicsServices                    0x329774cb GSEventRun + 62
    29  UIKit                               0x32ef7d69 -[UIApplication _run] + 404
    30  UIKit                               0x32ef5807 UIApplicationMain + 670
    31  VisualMath                          0x00002207 main + 70
    32  VisualMath                          0x000021bc start + 40
)
我尝试了许多选择,但没有任何效果,请帮助我。     

解决方法

看来您正在尝试实例化一个名为ThemePickerController.nib的笔尖,但该笔尖不存在。笔尖是否包含在项目成员中?     ,在项目中->构建阶段 确保将.xib添加到复制捆绑资源中     ,另一个常见的问题是尝试在viewControllers的init方法中加载笔尖。应该在viewDidLoad中。     ,这很容易...选择XIB文件,并确保在“目标成员身份”部分(在“显示文件检查器”选项卡下)下检查了项目的所需目标,即可解决问题。 当您复制现有文件的副本并手动添加到项目中时,通常会发生这种情况,因为在这种情况下,您还应该手动检查上述目标。     ,像这样设置您的按钮单击图像:
NSString *path1 = [[NSBundle mainBundle] pathForResource:@\"btn_twelve_month\" ofType:@\"png\"];
[btn_twelve_month setImage:[UIImage imageWithContentsOfFile:path1] forState:UIControlStateNormal];
代替这个:
[btn_twelve_month setImage:[UIImage imageNamed:@\"btn_twelve_month.png\"] forState:UIControlStateNormal];
有用..     ,您可以将您的ViewController重命名为应该在AppDelegate文件中更新的ViewController,因此导航至AppDelegate.m并执行以下操作。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
  self.viewController = [[XXXXViewController alloc] initWithNibName:@\"XXXXXViewController\" bundle:nil];
在该XXXX中,重命名您最新的ViewController名称(即重命名为ViewControllerName)。     ,因为仅在iOS 5及更高版本中支持该功能,所以Base Internationalization有可能因相同的错误消息而导致崩溃! 但是,由于您可以启动该应用程序,并且该应用程序仅在一段时间后崩溃,因此它不应归因于Base Internationalization。     

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...