Swift 在 2 个表视图之间传递数组。 Returns 零
Swift passing arrays between 2 tableviews. Returns nil instead
我对 SWIFT 编码还很陌生。我的目的是将 2 个数组的值从 Viewcontroller1 传递到 Viewcontroller2。但它 returns 我在 Viewcontroller2 中的值为 nil。有人可以给我建议吗?
这是 ViewController1 中的部分代码。
@IBAction func solve(sender: AnyObject) {
//pass information to the nextviewcontroller
func prepareForSegue ( segue: UIStoryboardSegue!, sender: AnyObject!) {
if (segue.identifier == "Solve") {
var svc = segue!.destinationViewController as ViewController2
svc.toPass = self.force
svc.toPass2 = stiffness
}
}
这是 ViewController2 中的部分代码。
class ViewController2: UITableViewController {
var toPass:[String]!
var toPass2:[String]!
override func viewDidLoad() {
super.viewDidLoad()
println(self.toPass)
println(self.toPass2)
// Do any additional setup after loading the view.
}
完整的代码可以在这里找到。 https://github.com/cherrythia/SWIFTpassingarrays/blob/master/README.md
我创建了类似于您的项目(使用您的 github link),@Sebastian Wramba 是正确的。您必须将这两个功能分开:
@IBAction func solve_pressed(sender: AnyObject) {
self.performSegueWithIdentifier("Solve", sender: sender)
}
override func prepareForSegue ( segue: UIStoryboardSegue, sender: AnyObject!) {
if (segue.identifier == "Solve") {
var svc = segue.destinationViewController as ViewController2
svc.toPass = self.force
svc.toPass2 = stiffness
}
}
好的,解决了(双关语)。您必须提供您的 segue 标识符,在这种特殊情况下,"Solve"。在您的第一个视图控制器中,select 推送到 View Controller2,转到第四个选项卡并将标识符设置为 "Solve"。
我对 SWIFT 编码还很陌生。我的目的是将 2 个数组的值从 Viewcontroller1 传递到 Viewcontroller2。但它 returns 我在 Viewcontroller2 中的值为 nil。有人可以给我建议吗?
这是 ViewController1 中的部分代码。
@IBAction func solve(sender: AnyObject) {
//pass information to the nextviewcontroller
func prepareForSegue ( segue: UIStoryboardSegue!, sender: AnyObject!) {
if (segue.identifier == "Solve") {
var svc = segue!.destinationViewController as ViewController2
svc.toPass = self.force
svc.toPass2 = stiffness
}
}
这是 ViewController2 中的部分代码。
class ViewController2: UITableViewController {
var toPass:[String]!
var toPass2:[String]!
override func viewDidLoad() {
super.viewDidLoad()
println(self.toPass)
println(self.toPass2)
// Do any additional setup after loading the view.
}
完整的代码可以在这里找到。 https://github.com/cherrythia/SWIFTpassingarrays/blob/master/README.md
我创建了类似于您的项目(使用您的 github link),@Sebastian Wramba 是正确的。您必须将这两个功能分开:
@IBAction func solve_pressed(sender: AnyObject) {
self.performSegueWithIdentifier("Solve", sender: sender)
}
override func prepareForSegue ( segue: UIStoryboardSegue, sender: AnyObject!) {
if (segue.identifier == "Solve") {
var svc = segue.destinationViewController as ViewController2
svc.toPass = self.force
svc.toPass2 = stiffness
}
}
好的,解决了(双关语)。您必须提供您的 segue 标识符,在这种特殊情况下,"Solve"。在您的第一个视图控制器中,select 推送到 View Controller2,转到第四个选项卡并将标识符设置为 "Solve"。