当前位置: 首页 > 知识库问答 >
问题:

在另一个函数中访问var

阴高寒
2023-03-14

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

这是我的代码:

@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个答案

申屠弘图
2023-03-14

变量标题字符串 : NS 字符串 = “”

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

南门茂才
2023-03-14

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

var titleString:NSString?

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

在函数内部,您可以写入这个字符串。

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

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

if let title = titleString{
    println(title)
}

额外信息。为什么使用NSString作为swift本机String
阅读此答案,了解本地类型更好的原因。

通常的做法是对变量使用camelcasing
titleStringtitleString相反

 类似资料:
  • 问题内容: Python noob在这里。如何在“ fib”功能中掌握“内部”功能? 问题答案: 您不能,除非以某种方式返回,否则不能。 本质上是范围内的局部变量,您不能从外部访问函数的局部变量。(这甚至不会是有意义的,因为该功能正在运行时,除了不存在当地人想想看- 这将是有意义的访问的变量从功能之外吗?)

  • 我有一个类Main(它具有公共静态void Main(String[]args))和另一个类MyDocument。 Main类中存在一个变量,我想从MyDocument类中的函数alphabetOccurrence()访问该变量。我该怎么做呢?我不想用它作为静态变量。任何修改只能在函数中进行,其余的代码应该保持不变。

  • 我不明白为什么下面的代码会打印两次。我以为应该是个人和学生。当通过“a”对象调用printPerson()内部的getInfo()时,为什么要调用Person类内部的一个,为什么不调用Student类中的一个?提前谢谢。

  • 问题内容: 我有以下内容: 我如何从另一个ViewController 访问? 我需要访问此功能: 问题答案: 默认情况下,swift中的所有内容都是公开的,因此,如果您声明以下内容: 只要拥有它的实例,就可以访问它:

  • 我有两个码头集装箱。一个是基于标准的MariaDB图像。这个容器被命名为“mariadb”,里面有一个叫做“fi”的数据库。fi db内部有几个表,每个表都有几行数据。使用DataGrip或任何其他数据库查看软件,我可以成功地访问和查询这个数据库,并使用端口3306在本地主机上调用它。 按照下面的建议对连接字符串进行了更改,如上图所示。现在使用命令“run-i-p8080:8080--link m