2015-01-04 35 views
0

文檔使它看起來好像它會像這樣一樣簡單:如何在swift中設置NSTableColumn headerCell stringValue?

var tc = NSTableColumn(identifier: "mycolumn") 
tc.headerCell.stStringValue("foo") 

的最後一行代碼是一個編譯錯誤,我不明白。 。最重要的是我得到這個確切的同一行代碼幾個不同的編譯錯誤消息的取決於什麼心情了XCode似乎是我見過的下列編譯錯誤:

  1. AnyObject沒有成員名爲「stStringValue」
  2. 不能轉換表達式的類型「的NSString爲鍵入「StringLiteralConvertible」

我得到這個時候嘗試設置一個變量,並把在那裏:

  • 無法將表達式的類型'String'轉換爲類型'String ?!'
  • 我得到這個當我嘗試"foo \(bar)"變種:

  • 找不到成員 'convertFromStringInterpolationSegment'
  • 歡快不夠的,如果我聲明一個變量類型String?!它說它Cannot convert the expression's type 'String?!' to type 'String?!'

    我不明白髮生了什麼事情。這是一個錯誤?

    如果我試試這個在操場,操場上竟想用一個額外的參數來自動完成,格式爲:在運行時

    tc.headerCell.setStringValue("foo", resolvingEntities: false) 
    

    這有沒有編譯時錯誤,但導致賽格故障。這種格式也不在文檔中。

    我真的不知道發生了什麼,錯誤信息沒有幫助。

    回答

    0

    儘管有可怕的錯誤信息,但我終於得到了這個工作。問題是headerCell輸入爲AnyObject,我不得不施放它。第二個問題是,在迅速的土地上,這是一種財產,而不是一種方法。

    這最後的工作:

    var tc = NSTableColumn(identifier: "mycolumn") 
    let hc = column1.headerCell as NSTableHeaderCell 
    hc.stringValue = "foo" 
    
    相關問題