在不禁用IBOutlet的情况下删除出口连接

时间:2014-12-22 08:27:11

标签: ios xcode swift

我在我的Swift应用程序中添加了第二个ViewController,我正在尝试将IBOutlets添加到它,就像我在第一个ViewController中一样。由于某种原因,文件被破坏,每当我点击导致第二个屏幕连接到新ViewController(称为MyOwnViewController)的按钮时,应用程序会收到错误消息“Interface Builder文件中的未知类MyOwnViewController”和“终止应用程序”由于未捕获的异常'NSUnknownKeyException',原因:'[setValue:forUndefinedKey:]:此类不是键值showOption3的键值编码。'“showOption3是我试图在屏幕上调用的IBOutlet的名称启动。

import Foundation

class MyOwnViewController: UIViewController {

@IBOutlet var showOption3: UILabel!

@IBOutlet var showOption4: UILabel!

override func viewDidLoad() {
    super.viewDidLoad()

    var voteCount1 = PFObject(className: "VoteCount")
    voteCount1["choices"] = 2
    voteCount1["votes"] = Int()
    voteCount1["votes2"] = Int()
    voteCount1["optionName"] = String()
    voteCount1["optionName2"] = String()
    voteCount1["objectId"] = String()
    voteCount1["pollNumber"] = Int()

    var query = PFQuery(className: "VoteCount")
    query.countObjectsInBackgroundWithBlock {
        (count: Int32, error: NSError!) -> Void in
        if error == nil {
            let randNumber = Int(arc4random_uniform(UInt32(count)))
            query.whereKey("pollNumber", equalTo: randNumber)
            query.getFirstObjectInBackgroundWithBlock {
                (voteCount1: PFObject!, error: NSError!) -> Void in
                if error != nil {
                    NSLog("%@", error)
                } else {
                    let votes = voteCount1["votes"] as Int
                    let votes2 = voteCount1["votes2"] as Int
                    let option1 = voteCount1["optionName"] as String
                    let option2 = voteCount1["optionName2"] as String
                    self.showOption3.text = "\(option1)"
                    self.showOption4.text = "\(option2)"
                }
            }
        } else {
            println("error \(error)")
        }
    }
}

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

我尝试在Connections Inspector中删除IBOutlets的连接,它确实删除了错误并允许第二个View Controller出现,但它也完全禁用了IBOutlets。当MyOwnViewController屏幕出现时,我仍然需要显示IBOutlets。

1 个答案:

答案 0 :(得分:0)

要删除操作,有两种方法:

1)你进入故事板,然后点击带有插座的按钮,然后在右侧面板上,点击带有阵列的圆形和带有连接的十字架。

2)使用" @ IBOutlet"删除代码行。

希望这有帮助,