在另一个函数中访问var

时间:2015-09-06 12:52:11

标签: ios swift function var

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

这是我的代码:

@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,但我没有成功。

2 个答案:

答案 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)

在班级顶部的IBAction外部进行声明

var titlestring:NSString =“”

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