Ios 敏捷的如何从协议中导入的库中声明具有返回类型的func?

Ios 敏捷的如何从协议中导入的库中声明具有返回类型的func?,ios,swift,import,protocols,Ios,Swift,Import,Protocols,在我的项目中,我使用了许多库和cocoapod。它需要将这些库导入到文件中,我使用其中的类实例 今天我决定创建协议,其中一个声明的func必须从导入的库返回类型: import SwiftyJSON protocol ContainsProductsList { func productsSummaryPrice() -> Int func productsCount() -> Int func productsAvailability(date : Str

在我的项目中,我使用了许多库和cocoapod。它需要将这些库导入到文件中,我使用其中的类实例

今天我决定创建协议,其中一个声明的func必须从导入的库返回类型:

import SwiftyJSON

protocol ContainsProductsList {
    func productsSummaryPrice() -> Int
    func productsCount() -> Int
    func productsAvailability(date : String) -> Calendar.Availability
    func JSON() -> JSON
}

但编译器不允许我这样做(使用未声明的类型“JSON”)。我试图将协议放在另一个使用SwiftyJSON库的文件中,但结果是一样的。你能解释一下为什么会这样吗?也许有一种方法可以绕过这个问题?

使用正确的方法命名:

protocol ContainsProductsList {
    func productsSummaryPrice() -> Int
    func productsCount() -> Int
    func productsAvailability(date : String) -> Calendar.Availability
    func JSONMYFUNCTION() -> JSON
}

使用正确的方法命名:

protocol ContainsProductsList {
    func productsSummaryPrice() -> Int
    func productsCount() -> Int
    func productsAvailability(date : String) -> Calendar.Availability
    func JSONMYFUNCTION() -> JSON
}

您是否尝试过在类(不是协议)中声明此函数?如果是,结果如何?你导入的东西都正确吗?你在使用
使用框架吗头(swift必须使用该头)。您是否尝试在类(非协议)中声明此函数,如果是,结果如何?你导入的东西都正确吗?你在使用
使用框架吗头(这是swift必须使用的)。正确)我重命名了func,编译器保持冷静。它可能决定func name(JSON())是新的JSON对象实例。谢谢你,我重新命名了func,编译器保持冷静。它可能决定func name(JSON())是新的JSON对象实例。谢谢