在 ViewController 之间传递 NSString
Passing NSString between ViewControllers
我需要在两个视图控制器之间传递一个变量(databasePath
- 这是一个 NSString
)。
在我编码的来自控制器中:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
var thirdVC: ThirdViewController = segue.destinationViewController as ThirdViewController
thirdVC.databasePath = databasePath
}
如何定义变量,或者在接收控制器中写接收语句?
我总是得到 nil
。
在来自ViewController 的数据库路径是在这里声明的。这为我创建了一个 SQL 数据库,我可以用它来存储用户输入的信息。
let filemgr = NSFileManager.defaultManager()
let dirPaths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory,
.UserDomainMask, true)
let docsDir = dirPaths[0] as String
databasePath = docsDir.stringByAppendingPathComponent("contacts.db")
databasePath
携带相关信息查找数据库存放位置
第三次ViewController 我设置了它,以便您可以查看数据库中存储的内容。
代码上没有错误。
我用 println("\(databasePath)")
发现在 ThirdViewController 上没有这个值。
如何定义变量,或在接收控制器中写入接收语句以使其保持其值?
根据你的问题,我了解到你想将 'databasePath' NSString 传递给 "thirdVC: ThirdViewController",以及如何在 'ThirdViewController' 中声明此变量以访问其传递的值,
那么你做的很好只是你必须声明相同的名称变量即 databasePath 及其数据类型即 NSString 并在任何需要它的值的地方使用它,只需确保在视图控制器之后调用 'ThirdViewController' ,也就是传值。
注意:ThirdViewController 应该是传递值的 viewcontroller class 的子 class。
希望你能得到答案:)
我需要在两个视图控制器之间传递一个变量(databasePath
- 这是一个 NSString
)。
在我编码的来自控制器中:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
var thirdVC: ThirdViewController = segue.destinationViewController as ThirdViewController
thirdVC.databasePath = databasePath
}
如何定义变量,或者在接收控制器中写接收语句?
我总是得到 nil
。
在来自ViewController 的数据库路径是在这里声明的。这为我创建了一个 SQL 数据库,我可以用它来存储用户输入的信息。
let filemgr = NSFileManager.defaultManager()
let dirPaths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory,
.UserDomainMask, true)
let docsDir = dirPaths[0] as String
databasePath = docsDir.stringByAppendingPathComponent("contacts.db")
databasePath
携带相关信息查找数据库存放位置
第三次ViewController 我设置了它,以便您可以查看数据库中存储的内容。
代码上没有错误。
我用 println("\(databasePath)")
发现在 ThirdViewController 上没有这个值。
如何定义变量,或在接收控制器中写入接收语句以使其保持其值?
根据你的问题,我了解到你想将 'databasePath' NSString 传递给 "thirdVC: ThirdViewController",以及如何在 'ThirdViewController' 中声明此变量以访问其传递的值,
那么你做的很好只是你必须声明相同的名称变量即 databasePath 及其数据类型即 NSString 并在任何需要它的值的地方使用它,只需确保在视图控制器之后调用 'ThirdViewController' ,也就是传值。
注意:ThirdViewController 应该是传递值的 viewcontroller class 的子 class。
希望你能得到答案:)