Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift “[UILabel]”没有名为“text”的成员_Swift_Interface Builder - Fatal编程技术网

Swift “[UILabel]”没有名为“text”的成员

Swift “[UILabel]”没有名为“text”的成员,swift,interface-builder,Swift,Interface Builder,升级到Xcode 6.3后,无法将字符串分配到UILabel中。我收到Swift编译器错误消息“[UILabel]”在UILabel textLabel上没有名为“text”的成员。有什么好办法吗 import UIKit class ViewController: UIViewController { @IBOutlet var nameTxt: [UITextField]! @IBOutlet var textLabel: [UILabel]! override

升级到Xcode 6.3后,无法将字符串分配到UILabel中。我收到Swift编译器错误消息“[UILabel]”在UILabel textLabel上没有名为“text”的成员。有什么好办法吗

import UIKit

class ViewController: UIViewController {

    @IBOutlet var nameTxt: [UITextField]!
    @IBOutlet var textLabel: [UILabel]!
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


    @IBAction func changeLabel(sender: UIButton) {
        self.textLabel?.text = "Success"
    }
}

当我们将标签或任何其他内容从情节提要连接到源代码时,我们将得到一个弹出菜单,该菜单如下所示:

当您单击此处连接时,我在获得弹出窗口后所做的一切都是类型textLabel,其他所有内容都是默认值,它将生成以下代码行:

@IBOutlet weak var textLabel: UILabel!
然而,Outlet并不是将我们的对象从interface builder连接到源代码的唯一选项

如果我们将“连接”下拉列表更改为“选择插座集合”,如下所示:

然后生成的代码行将与问题中的代码行完全匹配:

@IBOutlet var textLabel: [UILabel]!
我们已经创建了一系列标签。这在某些情况下很有用,但可能不是我们真正想要的

为了解决这个问题,我们必须首先确保取消钩住原始连接,否则将出现运行时异常

因此,如果您返回Interface Builder并右键单击相关标签,您将收到如下菜单:

请注意标签是如何链接到引用插座集合的,而不是链接到引用插座的?这就是我们需要解决的问题。因此,单击该连接的X以取消链接。现在我们可以转到源代码并删除生成的@IBOutlet

现在,把你的标签作为一个普通的销售点而不是一个销售点集合,你的changeLabel方法会像现在一样工作得很好

当标签正确连接为插座而不是插座集合时,interface builder的右键单击菜单将如下所示:

请注意此图像与前一图像之间的差异