这个
JSONCodable
同时声明
JSONEncoder
/
JSONDecoder
类,所以编译器不知道要扩展哪些类:标准类,还是库中的类。
告诉编译器通过用模块名预先装入类来扩展哪个类,应该消除歧义。
import Foundation
import JSONCodable
extension JSONCodable.JSONEncoder {
// extension code
}
extension JSONCodable.JSONDecoder {
// extension code
}
但是,这对于这个特定的库不起作用,因为库声明了一个同名的协议(
J可折叠
). 因此,您只需要显式地从模块中导入两个类(请参见
this SO post
有关详细信息:
import Foundation
import class JSONCodable.JSONEncoder
import class JSONCodable.JSONDecoder
extension JSONCodable.JSONEncoder {
// your code
}
extension JSONCodable.JSONDecoder {
// your code
}