我如何得到一个数组?
How do I results to an array?
使用 JSON 执行了解析操作。我创建了完成。我从这里得到字符串值。我将这些字符串传递给初始化程序。如何将此字符串添加到数组?
我的模型Class:
class ExamplesModel {
var name: String
init(name: String) {
self.name = name
}
}
完成阶段:
DispatchQueue.main.async {
let examplesModel = ExamplesModel(name: name)
completion(.Success(examplesModel))
}
定义完成变量:
enum Result<T> {
case Success(T)
case Error(String)
}
我想将字符串追加到数组中:
class ViewController: ... {
var exampleArray = [String]()
...
..
.
override func viewWillAppear(_ animated: Bool) {
...
..
.
self.exampleFunc(...some-variables...) { (result) in
//what should I write here?
}
}
只需在得到的result
上的completionHandler
中添加Switch
语句即可。对于 case Success
,从 model
获取 name
并从 append
获取 names
array
像这样,
var names = [String]()
self.exampleFunc(chosenLatitude: "", chosenLongitude: "") { (result) in
switch result {
case let .Success(model):
self.names.append(model.name)
case let .Error(error):
print(error)
}
}
在您调用 exampleFunc
的方法范围之外创建 names
,例如:作为 class
property
.
使用 JSON 执行了解析操作。我创建了完成。我从这里得到字符串值。我将这些字符串传递给初始化程序。如何将此字符串添加到数组?
我的模型Class:
class ExamplesModel {
var name: String
init(name: String) {
self.name = name
}
}
完成阶段:
DispatchQueue.main.async {
let examplesModel = ExamplesModel(name: name)
completion(.Success(examplesModel))
}
定义完成变量:
enum Result<T> {
case Success(T)
case Error(String)
}
我想将字符串追加到数组中:
class ViewController: ... {
var exampleArray = [String]()
...
..
.
override func viewWillAppear(_ animated: Bool) {
...
..
.
self.exampleFunc(...some-variables...) { (result) in
//what should I write here?
}
}
只需在得到的result
上的completionHandler
中添加Switch
语句即可。对于 case Success
,从 model
获取 name
并从 append
获取 names
array
像这样,
var names = [String]()
self.exampleFunc(chosenLatitude: "", chosenLongitude: "") { (result) in
switch result {
case let .Success(model):
self.names.append(model.name)
case let .Error(error):
print(error)
}
}
在您调用 exampleFunc
的方法范围之外创建 names
,例如:作为 class
property
.