gpt4 book ai didi

ios - 如何创建返回确认类型的协议(protocol)扩展?

转载 作者:搜寻专家 更新时间:2023-11-01 07:23:17 25 4
gpt4 key购买 nike

我正在尝试实现一个协议(protocol)扩展 JsonProcess,它有一个以 NSData 作为参数的函数,我想使用类似这样的 self 要求来创建不同的协议(protocol)扩展

extension JSONResource where Self: Login {
func proccessJSON(data: NSData) -> Self{
return Login()
}
}

但是编译器显示错误

Cannot convert return expression of type 'Login' to return type 'Self'

登录类是这样定义的

class Login: NSObject {
var username: String?
var firstName: String?
}

如果我序列化 NSData 并创建登录类的实例并填充它并尝试返回它,我应该在此处返回什么?

最佳答案

由于您指定扩展仅适用于符合对象 Self 是类 Login 的情况,因此您应该像这样编写扩展:

extension JSONResource where Self: Login {
func proccessJSON(data: NSData) -> Login {
return Login()
}
}

关于ios - 如何创建返回确认类型的协议(protocol)扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37657391/

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