vendredi 9 septembre 2016

NSTextField updated randomly through delegate in Swift

I have a very strange behavior on a NSTextField.

I update the value of the NSTextField through a delegate. Sometimes it gets updated and sometimes not. I issued a print statement before to ensure that I have the correct value. What the print statement shows and what is being displayed on the NSTextField is different.

Any idea what could be the root cause ?

import Cocoa

var mtserialport = MTSerialHandler()

class ManualViewController: NSViewController, MTSerialHandlerDelegate {

@IBOutlet var txtStatus       : NSTextField!
@IBOutlet var txtQueue        : NSTextField!


override func viewDidLoad() {

    super.viewDidLoad()

    // Do any additional setup after loading the view.
    init_ctrl()

    // Delegates
    mtserialport.delegate = self




}

func init_ctrl() {


    self.txtQueue.stringValue  = "0"



}



// This is the function called from a delegate
// mt_serialport delegate
// print shows updateQueue:0 or 1, textQueue would stay to a previous value. i.e:3
func updateQueue(qu: UInt) {
    print("updateQueue:" + String(qu))
    self.txtQueue.stringValue = String(qu)
}

}




Aucun commentaire:

Enregistrer un commentaire