我正在尝试快速遵守此协议(protocol)
协议(protocol)
@protocol XLFormOptionObject <NSObject>
@required
-(NSString *)formDisplayText;
-(id)formValue;
@end
My Class 应符合此协议(protocol)
@objc (myclass)
class myclass : XLFormOptionObject{
var formDisplayText: NSString {
return self.name
}
var formValue: AnyObject {
return self
}
}
评论
据我所知,我应该用 Anyobject 更改 id,但 XCode 6.1 仍然给我编译器错误 - 类不符合协议(protocol)
问题
关于如何使用指向类“id”实例的指针来遵守协议(protocol)的任何建议
最佳答案
您的问题不是 formValue()
函数,而是 formDisplayText()
函数。您必须强制解开字符串。我不清楚为什么这是必需的,因为返回值显然不是可选的,但是如果你看看 swift 如何转换 objc 方法调用以进行桥接,你会注意到它几乎总是将方法返回值重新解释为强制展开。
//MARK: - XLFormOptionObject
func formDisplayText() -> String! {
return self.status
}
func formValue() -> AnyObject {
return self.ID
}
关于ios Swift XLForm - 符合协议(protocol) XLFormOptionObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27033307/