在另一个函数中访问 var

access var in another function

我在尝试访问在其他函数中声明的变量时遇到问题。

这是我的代码:

@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
}

我尝试 return var 但我没有成功。

首先在函数外部但在 class 内部创建一个变量。 (全局变量)

var titleString:NSString?

我们会将其设为可选字符串,因为它没有任何初始值。

在您的函数中,您可以写入此字符串。

titleString = title.text as NSString //Var i want to access

然后您可以检查您的字符串是否有值(因为它是一个可选字符串)

if let title = titleString{
    println(title)
}

额外信息。 为什么要像 swift 本机字符串那样使用 NSString?
阅读 this answer 以了解为什么原生类型更好。

对变量使用驼峰式大小写是常见的做法。
titleString 而不是 titlestring 这将使它更容易阅读

在 class

顶部的 IBAction 之外声明它

var titlestring : NSString = ""

// 然后剩下的代码现在你可以访问字符串变量