我试图将一个数组从一个视图控制器复制到另一个视图控制器,但不知何故它不起作用..我尝试使用以下代码:
let otherVC = TerningspilletViewController()
mineSpillere = otherVC.mineSpillere2
println("otherVC")
Run Code Online (Sandbox Code Playgroud)
在视图控制器中,我想从中发送数据具有以下代码:
var mineSpillere = ["Spiller 1", "Spiller 2", "Spiller 3"]
Run Code Online (Sandbox Code Playgroud)
将要接收此数据的视图控制器具有以下代码:
var mineSpillere2 = [String]()
Run Code Online (Sandbox Code Playgroud)
“ var mineSpillere”将显示文本,但是当我尝试显示它时,它说“ var mineSpillere”为空。任何建议/想法?
如果你想访问另一个 viewController 的数组,那么你可以将它保存在内存中,为此你可以使用NSUserDefaults这种方式:
//save
var mineSpillere = ["Spiller 1", "Spiller 2", "Spiller 3"]
var defaults = NSUserDefaults.standardUserDefaults()
defaults.setObject(mineSpillere, forKey: "YourKey")
Run Code Online (Sandbox Code Playgroud)
现在您可以通过以下方式从任何地方阅读它:
//read
if let testArray : AnyObject? = NSUserDefaults.standardUserDefaults().objectForKey("YourKey") {
var readArray : [NSString] = testArray! as! [NSString]
println(readArray)
}
Run Code Online (Sandbox Code Playgroud)
如果你想用你的旧方法来做这里是代码:
FirstViewController.swift
import UIKit
class FirstViewController: UIViewController {
var mineSpillere = ["Spiller 1", "Spiller 2", "Spiller 3"]
override func viewDidLoad() {
super.viewDidLoad()
}
}
Run Code Online (Sandbox Code Playgroud)
SecondViewController.swift
import UIKit
class SecondViewController: UIViewController {
var mineSpillere2 = [String]()
override func viewDidLoad() {
super.viewDidLoad()
let otherVC = FirstViewController()
mineSpillere2 = otherVC.mineSpillere
println(mineSpillere2) //[Spiller 1, Spiller 2, Spiller 3]
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13564 次 |
| 最近记录: |