Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c SpliteViewController设置值:forUndefinedKey::对于iPad中的键_masterColumnWidth,此类不符合键值编码_Objective C_Ipad_Uisplitviewcontroller_Ios10_Xcode8 - Fatal编程技术网

Objective c SpliteViewController设置值:forUndefinedKey::对于iPad中的键_masterColumnWidth,此类不符合键值编码

Objective c SpliteViewController设置值:forUndefinedKey::对于iPad中的键_masterColumnWidth,此类不符合键值编码,objective-c,ipad,uisplitviewcontroller,ios10,xcode8,Objective C,Ipad,Uisplitviewcontroller,Ios10,Xcode8,我已将应用程序升级到iOS 10和XCode 8,升级后应用程序在iPad中崩溃,日志如下: ***由于未捕获的异常“NSUnknownKeyException”而终止应用程序,原因:'[ setValue:forUndefinedKey::此类不是键值 符合密钥_masterColumnWidth'的编码要求 检查以下完整的崩溃日志: *由于未捕获的异常“NSUnknownKeyException”而终止应用程序,原因:[ setValue:forUndefinedKey::此类不是键值 符合

我已将应用程序升级到iOS 10和XCode 8,升级后应用程序在iPad中崩溃,日志如下:

***由于未捕获的异常“NSUnknownKeyException”而终止应用程序,原因:'[ setValue:forUndefinedKey::此类不是键值 符合密钥_masterColumnWidth'的编码要求

检查以下完整的崩溃日志:

*由于未捕获的异常“NSUnknownKeyException”而终止应用程序,原因:[ setValue:forUndefinedKey::此类不是键值 符合密钥_masterColumnWidth'的编码要求 *第一次抛出调用堆栈:(0 CoreFoundation 0x000000010bdc634b异常预处理+171 1 libobjc.A.dylib
0x000000010b32b21e objc_异常_抛出+48 2 CoreFoundation
0x000000010bdc6299-[N异常提升]+9 3基础
0x0000000106ace2ff-[NSObject(NSKeyValueCoding)设置值:forKey:]+ 291 4 UIKit 0x000000010803c8c3 -[UIViewController设置值:forKey:+88 5探查器0x0000000104319ae5-[AppDelegate 应用:didFinishLaunchingWithOptions:+3765 6 UIKit
0x0000000107e9968e-[UIC]应用程序 _带选项的HandleDelegateCallbacks:isSuspended:restoreState:+290 7 UIKit 0x0000000107e9b013 -[UIApplication\u callInitializationDelegatesForMainScene:transitionContext:+4236 8 UIKit 0x0000000107ea13b9-[UIApplication _RunWithMain场景:transitionContext:completion:+17319 UIKit 0x0000000107e9e539-[UIApplication WorkspaceDiEndTransaction:+188 10 FrontBoardServices 0x00000001110ff76b __FBSSERIALQUEUE正在呼叫一个区块
+24 11 FrontBoardServices 0x00000001110ff5e4 -[FBSSerialQueue _performNext]+189 12 FrontBoardServices 0x00000001110ff96d-[FBSSerialQueue _performNextFromRunLoopSource]+ 45 13核心基金会0x000000010bd6b311 CFRUNLOOP\u正在调用\u OUT\u到\u A\u SOURCE0\u PERFORM\u函数+17 14 CoreFoundation 0x000000010bd5059c __CFRunLoopDoSources0+556 15核心基础0x000000010bd4fa86\ucfrunlooprun+918 16核心基础
0x000000010bd4f494 CFRunLoopRunSpecific+420 17 UIKit
0x0000000107e9cdb6-[UIApplication\u run]+434 18 UIKit
0x0000000107ea2f34 UIApplicationMain+159 19分析器
0x000000010458fb9f main+11120 libdyld.dylib
0x000000010cfa968d启动+1 21???
0x0000000000000001(0x0+1)

在下面的代码中用于设置
SpliteViewController的
masterColumnWidth

SpliteViewController *objSpliteViewController = [[Navigation getStoryBord] instantiateViewControllerWithIdentifier:@"SpliteViewController"];

[objSpliteViewController setValue:[NSNumber numberWithFloat:370.0f] forKey:@"_masterColumnWidth"];

在10以下的iOS版本和8以下的XCode版本中工作正常。

因为iOS 10无法访问此内部属性。一般来说,访问此类属性是一种风险行为。应使用适当的属性或方法修改主列的宽度:

1。属性

objSpliteViewController.maximumPrimaryColumnWidth = 370.0;
objSpliteViewController.minimumPrimaryColumnWidth = 370.0;
[objSpliteViewController setMaximumPrimaryColumnWidth:370.0];
[objSpliteViewController setMinimumPrimaryColumnWidth:370.0];
2。方法

objSpliteViewController.maximumPrimaryColumnWidth = 370.0;
objSpliteViewController.minimumPrimaryColumnWidth = 370.0;
[objSpliteViewController setMaximumPrimaryColumnWidth:370.0];
[objSpliteViewController setMinimumPrimaryColumnWidth:370.0];

设置两个(最大值和最小值)以获得精确的宽度,或者只设置其中一个以防止列变得太宽或太窄。

因为iOS 10无法访问此内部属性。一般来说,访问此类属性是一种风险行为。应使用适当的属性或方法修改主列的宽度:

1。属性

objSpliteViewController.maximumPrimaryColumnWidth = 370.0;
objSpliteViewController.minimumPrimaryColumnWidth = 370.0;
[objSpliteViewController setMaximumPrimaryColumnWidth:370.0];
[objSpliteViewController setMinimumPrimaryColumnWidth:370.0];
2。方法

objSpliteViewController.maximumPrimaryColumnWidth = 370.0;
objSpliteViewController.minimumPrimaryColumnWidth = 370.0;
[objSpliteViewController setMaximumPrimaryColumnWidth:370.0];
[objSpliteViewController setMinimumPrimaryColumnWidth:370.0];
设置两个(最大值和最小值)以获得精确的宽度,或仅设置其中一个以防止列变得太宽或太窄