ios - 如何将 NSDictionary 传递给函数并在 Swift 2 中返回另一个 NSDictionary

标签 ios swift function nsdictionary

我正在尝试将 businesses(一个 NSDictionary)传递给一个函数,该函数遍历它并将选定的业务(也是一个 NSDictionary)返回给 View Controller 。我在 Swift 中设置正确的调用和完成处理程序时遇到问题。我认为我没有在我的函数中正确处理业务字典的输入。

在下面的代码中,我收到一个错误,提示我在调用中有一个额外的参数。我是否需要将调用包装在 do/try/catch 中?我是 Swift 的新手,对使用完成处理程序和将项目传递给函数的不同方式感到有点困惑。我发现的大多数关于堆栈溢出的问题都与如何使用 NSURLSession 相关,但并没有那么有用。如果更容易的话,很高兴被指向文档或相关博客文章的方向。谢谢。

ViewConteroller,我在其中调用函数并传递业务字典:

FindBar.searchForOpenBar(businesses) {(selectedBar) -> Void in     
    print(selectedBar)
}

从 FindBar 中,选择要返回的栏的逻辑(尚未实现)将由 View Controller 使用。

class FindBar {
    typealias Completion = (selectedBar:NSDictionary) -> Void
    func searchForOpenBar(businesses: NSDictionary, completion: Completion) {

        //iterate through the businesses and select the bar
        for business in businesses {

            //temp. hard-coded selection
            foundBar = ["name":"Dive Bar", "address":"123 Main St"]

        }

    //send selected bar back view controller.
    completion(selectedBar: foundBar)

}

最佳答案

在您的 FindBar 类中,将 func searchForOpenBar 更改为 class func searchForOpenBar

class FindBar {
    typealias Completion = (selectedBar:NSDictionary) -> Void
    class func searchForOpenBar(businesses: NSDictionary, completion: Completion) {

        //iterate through the businesses and select the bar
        for business in businesses {

            //temp. hard-coded selection
            foundBar = ["name":"Dive Bar", "address":"123 Main St"]

        }

    //send selected bar back view controller.
    completion(selectedBar: foundBar)

}

关于ios - 如何将 NSDictionary 传递给函数并在 Swift 2 中返回另一个 NSDictionary,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34951191/

相关文章:

swift - 如何向 Realm 模型添加属性验证?

excel - 在 Excel 中查找 'x'

function - 使用 .mcfunction 文件时如何进行延迟?

ios - 添加人员时无法退出 ABUnknownPersonViewController

ios - AVAsset Export 设置恒定的帧率

json - 在 Swift 中将 JSON 数据转换为 Double

ios - 尝试在 iOS swift 上本地下载视频

ios - 如何向 subview 属性 Swift 添加操作?

ios - 如何将类对象添加到 NSMutableArray?

function - 如何覆盖 app/code/core/Mage/Core/functions.php 中的 Magento 函数