0

ドキュメントは、次のように簡単に見えるようにします。

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

コードの最後の行はコンパイル エラーです。これはわかりません。それに加えて、XCode の雰囲気に応じて、このまったく同じコード行に対して、いくつかの異なるコンパイル エラー メッセージが表示されます。次のコンパイル エラーが表示されます。

  1. AnyObject には「stStringValue」という名前のメンバーがありません
  2. 式のタイプ「NSString」をタイプ「StringLiteralConvertible」に変換できません

変数を設定してそこに入れようとすると、次のようになります。

  1. 式の型「文字列」を型「文字列?!」に変換できません

"foo \(bar)"バリアントを試すと、次のようになります。

  1. メンバー「convertFromStringInterpolationSegment」が見つかりませんでした

面白いことに、型で変数を宣言すると、String?!それはそれを言いますCannot convert the expression's type 'String?!' to type 'String?!'

何が起こっているのかわかりません。これはバグですか?

遊び場でこれを試してみると、遊び場は実際には追加の引数でオートコンプリートしようとしています。次の形式です。

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

これにはコンパイル時のエラーはありませんが、実行時にセグ フォールトが発生します。この形式もドキュメントにはありません。

何が起こっているのかまったくわかりませんし、エラー メッセージも役に立ちません。

4

1 に答える 1

0

ひどいエラーメッセージが表示されたにもかかわらず、ようやくこれが機能するようになりました。問題は、headerCellとして入力されAnyObjectていることです。キャストする必要がありました。2 つ目の問題は、Swift Land ではメソッドではなくプロパティであるということです。

これは最終的に機能しました:

var tc = NSTableColumn(identifier: "mycolumn") 
let hc = column1.headerCell as NSTableHeaderCell
hc.stringValue = "foo"
于 2015-01-04T05:56:24.233 に答える