我在尝试访问在其他函数中声明的变量时遇到问题。
这是我的代码:
@IBAction func Addbutton(sender: UIButton) {
myImageUploadRequest()
var titlestring: NSString = titre.text as NSString //Var i want to access
var description:NSString = desc.text as NSString
var price : NSString = prix.text as NSString
}
func createBodyWithParameters(parameters: [String: String]?, filePathKey: String?, imageDataKey: NSData, boundary: String) -> NSData {
var body = NSMutableData();
if parameters != nil {
for (key, value) in parameters! {
body.appendString("--\(boundary)\r\n")
body.appendString("Content-Disposition: form-data; name=\"\(key)\"\r\n\r\n")
body.appendString("\(value)\r\n")
}
}
//here i want to access to the titlestring var declared in my addButton func
println(titlestring)
let filename = titlestring
}
我试图返回var,但我没有成功。
答案 0 :(得分:1)
首先在函数外创建一个变量但在类中。 (全局变量)
var titleString:NSString?
我们将这个作为可选字符串,因为它没有任何初始值。
在你的函数中你可以写入这个字符串。
titleString = title.text as NSString //Var i want to access
然后你可以检查你的字符串是否有值(因为它是一个可选的字符串)
if let title = titleString{
println(title)
}
额外信息。
为什么你使用NSString作为swift原生字符串?
阅读this answer以了解原生类型为何更好。
通常的做法是使用camelcasing来处理变量
titleString
而不是titlestring
,这样会更容易阅读
答案 1 :(得分:0)
var titlestring:NSString =“”
//然后剩下的代码现在可以访问字符串变量