如何将 NSDictionary 传递给一个函数和 return Swift 中的另一个 NSDictionary 2
How to pass an NSDictionary to a function and return another NSDictionary in Swift 2
我正在尝试将 businesses
(一个 NSDictionary)传递给一个循环遍历它的函数,并将 return 一个选定的业务(也是一个 NSDictionary)传回视图控制器。我在 Swift 中设置正确的调用和完成处理程序时遇到问题。我认为我在我的函数中没有正确处理业务字典的输入。
使用下面的代码,我收到一个错误消息,提示我在调用中有一个额外的参数。我是否需要将呼叫包装在 do/try/catch 中?我是 Swift 的新手,对使用完成处理程序和将项目传递给函数的不同方式感到有点困惑。我发现的大多数关于堆栈溢出的问题都与如何使用 NSURLSession 相关,但并没有那么有用。很高兴被指向文档或相关博客 post 的方向,如果这样更容易的话。谢谢。
ViewConteroller,我在其中调用函数并传递业务字典:
FindBar.searchForOpenBar(businesses) {(selectedBar) -> Void in
print(selectedBar)
}
来自 FindBar,其中逻辑(尚未实现)选择视图控制器要使用的 return 栏。
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
class 中,将 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)
}
我正在尝试将 businesses
(一个 NSDictionary)传递给一个循环遍历它的函数,并将 return 一个选定的业务(也是一个 NSDictionary)传回视图控制器。我在 Swift 中设置正确的调用和完成处理程序时遇到问题。我认为我在我的函数中没有正确处理业务字典的输入。
使用下面的代码,我收到一个错误消息,提示我在调用中有一个额外的参数。我是否需要将呼叫包装在 do/try/catch 中?我是 Swift 的新手,对使用完成处理程序和将项目传递给函数的不同方式感到有点困惑。我发现的大多数关于堆栈溢出的问题都与如何使用 NSURLSession 相关,但并没有那么有用。很高兴被指向文档或相关博客 post 的方向,如果这样更容易的话。谢谢。
ViewConteroller,我在其中调用函数并传递业务字典:
FindBar.searchForOpenBar(businesses) {(selectedBar) -> Void in
print(selectedBar)
}
来自 FindBar,其中逻辑(尚未实现)选择视图控制器要使用的 return 栏。
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
class 中,将 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)
}