Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.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
Cocoa touch 无法为Xcode情节提要中的ViewController选择自定义类_Cocoa Touch_Viewcontroller - Fatal编程技术网

Cocoa touch 无法为Xcode情节提要中的ViewController选择自定义类

Cocoa touch 无法为Xcode情节提要中的ViewController选择自定义类,cocoa-touch,viewcontroller,Cocoa Touch,Viewcontroller,我刚把Xcode升级到5.0。我对可可还是相当陌生,所以我希望我忽略了一些基本的东西。基本上,我无法让Xcode看到我想用作视图控制器父类的自定义类。最初,我想为tableview控制器创建一个自定义类,但为了简化问题,我尝试使用常规的ViewController,但这也不起作用 我所做的: 创建新项目:单视图应用程序 向它添加一个cocoa类(File->New->File->Objective-C类)。我将其命名为MyViewController,并使其成为UIViewController

我刚把Xcode升级到5.0。我对可可还是相当陌生,所以我希望我忽略了一些基本的东西。基本上,我无法让Xcode看到我想用作视图控制器父类的自定义类。最初,我想为tableview控制器创建一个自定义类,但为了简化问题,我尝试使用常规的ViewController,但这也不起作用

我所做的:

  • 创建新项目:单视图应用程序
  • 向它添加一个cocoa类(File->New->File->Objective-C类)。我将其命名为MyViewController,并使其成为UIViewController的子类
  • 我在情节提要中选择项目模板附带的默认视图,并在Identity inspector中尝试在Custom类下选择MyViewController

该类根本没有出现在下拉列表中,我自己也无法键入。许多报告相同问题的其他威胁建议关闭/重新打开项目和Xcode,但这对我来说都不起作用。

当您在Xcode的界面生成器情节提要中时,请确保单击视图下的黑色栏:


这将选择情节提要中的视图控制器(而不是视图)。请注意整个场景周围有一个蓝色边框。选择此选项后,您可以在标识检查器中设置视图控制器的类。

此外,请确保您的视图控制器类型(例如TableViewController)在你的故事板中匹配你的视图控制器超类(例如TableViewController)。否则,它将不会显示在可供选择的类列表中。

我最终解决了它。你必须保存你的工作并退出xcode。但请不要关闭,你必须退出xcode


再次运行xcode时,您将看到刚才创建的viewcontroller。

对我来说,问题是我的类从另一个框架扩展了一个类,显式地包括包名,例如:

class BaseMessageController: MessageKit.MessagesViewController
修复程序正在删除框架名称:

class BaseMessageController: MessagesViewController

可能是苹果的错误。

在情节提要中,请确保您选择的是父视图控制器,而不是视图本身。@AlexanderN很高兴我能提供帮助。不要记下这条评论!我花了一段时间试图解决同一问题,这是唯一一个真正有效的问题。我喜欢xcode,它很棒!!:(这最终解决了我所看到的问题=]这也帮助了med。无用的评论