【问题标题】:ios Swift XLForm - Conform to Protocol XLFormOptionObjectios Swift XLForm - 符合协议 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”实例的指针来遵守协议的任何建议

【问题讨论】:

    标签: ios swift xlform


    【解决方案1】:

    您的问题不是formValue() 函数,而是formDisplayText() 函数。您必须强制解开字符串。我不清楚为什么这是必需的,因为返回值显然不是可选的,但是如果您查看 swift 如何将 objc 方法调用转换为桥接,您会注意到它几乎总是将方法返回值重新解释为强制解包。

    //MARK: - XLFormOptionObject
    func formDisplayText() -> String! {
        return self.status
    }
    
    func formValue() -> AnyObject {
        return self.ID
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-04
      • 2015-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多