我正试图迅速遵守这个协议
协议
@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
}
}注释
根据我的理解,我应该用任何对象更改id,但是XCode 6.1仍然给我编译器错误-类不符合协议
问题
关于如何使用指向类"id“实例的指针的协议的建议
发布于 2015-08-01 17:57:46
您的问题不是formValue()功能,而是formDisplayText()功能。您必须强制展开字符串。我不清楚为什么需要这样做,因为返回值显然不是可选的,但是如果您查看如何快速转换objc方法调用桥接,您会注意到它几乎总是将方法返回值重新解释为强制解包。
//MARK: - XLFormOptionObject
func formDisplayText() -> String! {
return self.status
}
func formValue() -> AnyObject {
return self.ID
}https://stackoverflow.com/questions/27033307
复制相似问题