【发布时间】:2016-02-21 23:34:32
【问题描述】:
我创建了一个类“DeletableImageView”(.swift + .xib),它使用我通过我称为委托的属性定义为“DeletableImageViewDelegate”的协议。
为了清楚起见的示例:
DeletableImageView.swift
protocol DeletableImageViewDelegate {
func deleteImageWithTag(tag: Int!) -> (Bool)
func addImageOnViewWithTag(tag: Int!) -> (Bool)
...
}
class DeletableImageView: UIView {
var view: UIView!
var delegate: DeletableImageViewDelegate?
// Some random methods + some use of the delegate protocol's methods
...
}
我的问题是,现在,当我尝试在关联的 .xib 文件中的控制器中使用我的类时(这意味着我在界面生成器中拖放一个视图并将 DeletableImageView 类分配给该视图)我无法链接委托属性(即使我将此属性声明为 IBOutlet)。
我想要做的是直接将视图的代理出口链接到 .xib 中的“文件所有者”
与直接在 .xib 文件中从 tableview 链接数据源和委托时所做的完全相同的事情。
但是当我控制并拖动它们时,它们不会链接在一起。
有人知道发生了什么吗?
非常感谢。
【问题讨论】:
-
文件所有者是否符合协议?
-
是的文件所有者符合协议...
-
这是我为帮助您了解我的问题而制作的视频:youtu.be/clYFj6dkaWk
-
对我来说看起来像一个错误 - 可以重现该问题。我可以连接到类,但不能连接到协议。
标签: ios swift delegates xib iboutlet