gpt4 book ai didi

ios - NSManagedObject 和协议(protocol)一致性

转载 作者:行者123 更新时间:2023-11-29 06:01:37 25 4
gpt4 key购买 nike

这是我的问题,我有一个类型 (MyManObj),它是 NSManagedObject 的子类。

该类型有两个字段:fieldOnefieldTwo:Int16

我还有一个这样定义的协议(protocol):

@objc protocol MyProtocol {
var fieldOne:Int16 {get set}
var fieldTwo:Int16 {get set}
}

我需要表达 MyManObj 符合 MyProtocol 的事实。而且我不知道该怎么做。

我尝试添加这样的代码,但它不起作用:

extension MyManObj:MyProtocol {}

我准确地收到了这条消息:

Type 'MyManObj' does not conform to protocol 'MyProtocol'.

然后我尝试了更多的变体,但没有兴趣,因为它们失败了。

最佳答案

您收到此错误是因为协议(protocol)中的变量/属性未标记为可选 [即它们是必需的]并且您的编译器要求您实现协议(protocol)中声明的所有方法/属性。

要解决此问题,您可以执行以下操作:

@objc protocol MyProtocol: class {
optional var fieldOne:Int16 {get set}
optional var fieldTwo:Int16 {get set}
}

extension MyManObj:MyProtocol {
var fieldOne:Int16 {
get{}
set{}
}
var fieldTwo:Int16 {
get{}
set{}
}
}

关于ios - NSManagedObject 和协议(protocol)一致性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54613499/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com