2016-08-28 3 views
0

addToolTipRect関数でツールチップを表示しようとしていますが、表示する必要があるテキストを渡す方法がわかりません。コードは動作しませんが、私はコードは、私が何をしたいかを示し思う:バック:addToolTipRectでuserDataを使用する方法

var thedata : [String:AnyObject] = ["txt" : "Text to display"]; 
addToolTipRect(lsTooltipRects[0], owner: self, userData: &thedata) 

...

override func view(view: NSView, stringForToolTip tag: NSToolTipTag, point: NSPoint, userData data: UnsafeMutablePointer<Void>) -> String 
{ 
    let pUserData = UnsafeMutablePointer<[String:AnyObject]>(data).memory 
    return pUserData["txt"] // how do I get the text ??? 

    return "hello" // works fine 
} 

を私は[ANYOBJECT文字列]を変換する方法がわかりませんそして?

+0

'view.toolTip' https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSView_Class/#//apple_ref/occ/instp/NSView/toolTip多分?私はそれを使用したことはありませんが、ドキュメントによれば正しいと思います。私はあなたが現在データを渡す方法を使わずに、その価値を設定しなければならないと思います。 – Kendel

+0

@Kendel:ありがとう、しかし、私はこれが別のものだと思います。私は完全なビューのツールチップを望んでいません。既にうまく動作している小さな部分についてのみ表示する必要があります。問題は正しいテキストを表示することです。 – ehmunnehm

答えて

0

問題が見つかりました。コードが動作しています。問題は、データが定義された場所でした。ポインタだけが渡されるので、変数は使用するまでに破棄されます。したがって、データはグローバルに定義する必要があります。

ご迷惑をお掛けして申し訳ございません。

関連する問題