Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.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
Macos Cocoa:未调用来自自定义视图代理的initWithFrame_Macos_Cocoa_Initwithframe - Fatal编程技术网

Macos Cocoa:未调用来自自定义视图代理的initWithFrame

Macos Cocoa:未调用来自自定义视图代理的initWithFrame,macos,cocoa,initwithframe,Macos,Cocoa,Initwithframe,根据苹果的文档,如果您在Interface Builder中使用自定义视图代理,则应调用此方法 如果尚未为自定义视图创建Interface Builder调色板,则可以使用两种技术在Interface Builder中创建子类的实例。第一种是使用Interface Builder容器选项板中的自定义视图代理项。此视图是自定义视图的替代视图,允许您相对于其他视图定位和调整视图的大小。然后使用inspector指定视图表示的NSView的子类。当应用程序加载nib文件时,自定义视图代理将创建指定视图

根据苹果的文档,如果您在Interface Builder中使用自定义视图代理,则应调用此方法

如果尚未为自定义视图创建Interface Builder调色板,则可以使用两种技术在Interface Builder中创建子类的实例。第一种是使用Interface Builder容器选项板中的自定义视图代理项。此视图是自定义视图的替代视图,允许您相对于其他视图定位和调整视图的大小。然后使用inspector指定视图表示的NSView的子类。当应用程序加载nib文件时,自定义视图代理将创建指定视图子类的新实例,并使用initWithFrame:方法对其进行初始化,并根据需要传递任何自动调整大小的标志。视图实例随后接收一条awakeFromNib消息


不幸的是,在我的情况下,它没有被调用。有人必须处理这个问题吗?

在部署到最新版本的操作系统时,最新版本的Xcode出现了新的行为。在NIB的文件检查器中,查看是否选中了运行时行为-实例化:首选编码器。如果是,如果需要/想要为自定义视图调用
-initWithFrame:
,请取消选中它。或者,保持选中状态,并利用NIB加载机制现在将调用
-initWithCoder:
这一事实。当然,您应该确保您的类属性支持
NSCoding
,方法是对任何有意义的自定义内部状态进行编码和解码。

任何等效的实例化:优先选择脚本的编码器选项?