繁体   English   中英

Interface Builder正在将自定义视图分配为常规UIView

[英]Interface Builder is allocating a custom view as a regular UIView

编辑#3:我以某种方式错过10次第二次控制台消息,这让我感到困惑。 这是一个已解决的已知问题。 我需要将“ -all_load -ObjC”设置为链接器标志,但我不知道为什么它还不是那样。 在运行时,请参阅“ Interface Builder文件中的未知类<MyClass>”错误

我试图在我的情节FBLoginView使用UIView的子类FBLoginView (Facebook SDK框架的一部分),并在其视图的视图控制器的viewDidLoad中为其设置属性。 这就是我所拥有的: IB和代码

如您FBLoginView ,所示的UIView(灰色框)的类设置为FBLoginView 它链接到右侧视图控制器.m中的属性loginView

viewDidLoad ,它执行_loginView.readPermissions = @[@"user_friends"] ,从而导致程序崩溃。 编辑#2:日志显示:

App became active.
Unknown class FBLoginView in Interface Builder file.
-[UIView setReadPermissions:]: unrecognized selector sent to instance 0x10c120b90

我设置了一个断点, loginView是一个UIView ,而不是FBLoginView 这没有道理; 我已经在Interface Builder FBLoginView其更改为FBLoginView 我该如何解决?

编辑:这是IB中视图控制器的连接检查器: 在此处输入图片说明

一些尝试:

  • 用另一个名称复制FBLoginView类,然后尝试尝试。
  • 仔细检查FBLoginView类名的拼写-检查.m和.h的文件名,然后检查实际文件中的接口/实现,以确保将其大写正确。

确保将FBLoginView.m声明为当前的构建目标成员(例如,编译源)。 为此,请在Project Navigator中选择FBLoginView.m ,请参阅文件检查器中的“目标成员身份”部分,该FBLoginView.m为附带的屏幕截图(已删除)。

编辑:

您应该阅读文档 :)
请参阅“添加登录UI控件”部分的底部。

您必须在[FBLoginView class] - application:didFinishLaunchingWithOptions: AppDelegate方法中添加[FBLoginView class] ,或将-ObjC标志-ObjC到链接器选项中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM