我知道如何在自定义视图中使用@IBDesignable.但是可以将IBDesignable用于单元格并在故事板中渲染它们吗?
例如:我在storyboard中有一个collectionViewController,并添加了一个uiCollectionCell和指定的类作为我的customCellClass.
ps:我知道在collecionViews和tableViews中使用Xibs我们必须在代码中调用方法registerNib:forReuseIdentifer(我正在这样做).只是想知道,是否有可能在故事板中看到它的渲染视图.
p.s2:我发现了这个并且它与UIViews 完美配合,但不知道如何使它与CollectionCells和TableCells一起使用.:(
这段代码无法编译,可能听起来很愚蠢,但我会解释为什么它如此重要!
@objc protocol p {
optional func f1()
func f2()
}
extension p {
func f1() { }
func f2() { }
}
class foo: p {
}
Run Code Online (Sandbox Code Playgroud)
编译器说Type c does not conform to protocol 'p'
,这可能是因为您不能同时使用 @objc 可选和扩展(并且在这种情况下也没有意义)。但请考虑以下示例:
我想在我的扩展中的协议中定义的非可选方法上设置一个选择器(我使用@objc的主要原因):
func f1() { }
->func f1() { ... #selector(Self.f2) ... }
我也希望我的f2()
函数具有默认行为。如果我标记f2()
为optional
,则不能使用它,#selector
因为编译器不知道该方法是否确实存在于需要的情况下。当然有很多令人讨厌的解决方法,例如全局方法、将Selector
s 作为输入发送给方法等,但是有没有一种干净的方法来实现它?
这是实际问题
@objc
protocol Refreshable {
weak var refreshControl: UIRefreshControl? { get set }
optional func …
Run Code Online (Sandbox Code Playgroud)