提问者:小点点

xcode iOS应用程序在重命名视图控制器后崩溃


Outlets在入口时崩溃崩溃图像截图

重命名视图控制器后,我会崩溃。 Swift文件到CalculatorViewController.Swift我还尝试重构新的类名,以便在应用程序的所有入口端口上镜像。 我收到中止信号错误。 请帮帮这个! 这是我的错误更新:队列com.apple.mainthread(serial)Thread 1中的错误

代码中的崩溃点

类AppDelegate:UIResponder,UIApplicationDelegate{

更新。

2019-03-11 15:36:01.990755+0530 NDV2[4619:144763]接口生成器文件中存在未知类CalculatorViewController。 2019-03-11 15:36:02.040903+0530 NDV2[4619:144763]*由于未捕获的异常“NSunKnownKeyException”,正在终止应用程序,原因:“[SetValue:ForUndefinedKey:]:此类与密钥TextOutput的密钥值编码不兼容。” *第一个抛出调用堆栈:(0 CoreFoundation 0x000000010ef3e1bb exceptionPreprocess+331 1 libobjc.a.dylib
0x000000010cf58735 objc_exception_throw+48 2 CoreFoundation
0x000000010ef3dd29-[NSException引发]+9 3 foundation
0x000000010c983de4-[nsObject(NSKeyValueCoding)setvalue:Forkey:]+292 4 UIKitCore 0x00000001113a3292-[UIViewController LE]+122 13 UIKitCore 0x0000000111A0336E-[UIWindow_SetHidden:Forced:]+294 14 UIKitCore 0x0000000111A165C0-[UIWindow makeKeyAndVisible]+42 15 UIKitCore
0x00000001119C3833-[UIApplication_CallInitializationDelegatesForMainScene:TransitionContext:]+4595 16 UIKitCore 0x00000001119C8C2F-[UIApplication_RunWithMainScene:TransitionContext:]+1623 17 TransitionContext:完成:]_Block_Invoke+795 22 UIKitCore 0x0000000111111e595f-[_UIApplicationCanvas_TransitionLifeCycleStateWithTransitionContext:完成:]+435 23 UIKitCore 0x00000001111eAA90__125-[_UICANVASLifeCycleSettingsDiffaction PerformActionsForCanvas:WithUpdatedScene:设置diff:FromSettings:TransitionContext:]_Block_Invoke+584 24 UIKitCore HTransitionContext:完成:]+448 30 FrontBoardServices 0x000000011A107443__56-[FBSWorkspace客户端:HandleCreateScene:WithCompletion:]_Block_Invoke_2+271 31 FrontBoardServices 0x000000011A106B3A__40-[FBSWorkspace_PerformDelegateCallout:]_Block_Invoke+53 32 LibDispatch.Dylib 0x000000011047E602_Dispatch_Client_Callout+8 33 LibDispatch.Dylib dd GSEventRunModal+62 42 UIKitCore
0x00000001119ca81d UIApplicationMain+140 43 NDV2
0x000000010c6291c7 main+71 44 libdyld.dylib
0x00000001104f4575 start+1)libc++abi.dylib:因未捕获类型为NSException的异常而终止


共3个答案

匿名用户

1)例如:LoginViewController类:UIViewController-只需选择“LoginViewController”,然后右键单击->重构->重命名

这将更改名称文件名,类名和照顾故事板类名。

2)如果您不能使用方法1,请手动重命名文件名(。swift),然后您必须转到情节提要并替换视图控制器的类名。您可能与出口有问题。

3)之后,关闭Xcode,然后再次启动项目。

匿名用户

在情节提要的控制器中有一个textField或textView或UILabel,

1-打开情节提要

2-单击UIViewController(具有已更改的新类名的ViewController)

3-删除名称为TextOutput的插座

4-如果你愿意,可以重新搜索网络并且你已经准备好了

匿名用户

您所得到的错误是因为您的故事板上有一个IBOutlet,而这个IBOutlet在定义它的类上不再存在,这可能是因为您手动更改了类上某个属性的名称或删除了它。

在情节提要上,选择初始视图控制器并检查是否有对名为TextOutput的IBOutlet的引用。 删除该引用并再次链接视图。 这应该能解决问题