ios Swift XLForm - 符合协议 XLFormOptionObject
Posted
技术标签:
【中文标题】ios Swift XLForm - 符合协议 XLFormOptionObject【英文标题】:ios Swift XLForm - Conform to Protocol XLFormOptionObject 【发布时间】:2014-11-20 06:39:01 【问题描述】:我正在尝试尽快遵守此协议
协议
@protocol XLFormOptionObject <NSObject>
@required
-(NSString *)formDisplayText;
-(id)formValue;
@end
我的类应该符合这个协议
@objc (myclass)
class myclass : XLFormOptionObject
var formDisplayText: NSString
return self.name
var formValue: AnyObject
return self
评论
据我了解,我应该用 Anyobject 更改 id,但 XCode 6.1 仍然给我编译器错误 - 类不符合协议
问题
关于如何使用指向类“id”实例的指针来遵守协议的任何建议
【问题讨论】:
【参考方案1】:您的问题不是formValue()
函数,而是formDisplayText()
函数。您必须强制解开字符串。我不清楚为什么这是必需的,因为返回值显然不是可选的,但是如果您查看 swift 如何将 objc 方法调用转换为桥接,您会注意到它几乎总是将方法返回值重新解释为强制解包。
//MARK: - XLFormOptionObject
func formDisplayText() -> String!
return self.status
func formValue() -> AnyObject
return self.ID
【讨论】:
以上是关于ios Swift XLForm - 符合协议 XLFormOptionObject的主要内容,如果未能解决你的问题,请参考以下文章
多种协议的 Swift 类一致性(XCode 7、iOS 9、Swift 2.1)
Swift 编译器错误:“类型‘水印’不符合协议‘ViewModifier’”
ios 8.1:类型“ViewController”不符合协议“UICollectionViewDataSource”