在我的一個應用程序中,我爲標準AppleScript套件的document
類添加了一些新屬性。其中一些屬性的類型爲text
,其他屬性的類型爲boolean
。我寫了一個「sdef」文件,並添加了如果我的應用程序的資源。AppScript問題與Cocoa NSString和AppleScript文本類型?
但是,當我啓動應用程序,也有在控制檯消息是這樣的:
.sdef類型在 套件類「窗口」「標準套房」的「文本」屬性「標題」警告:AppleScript名稱引用可能不適用於 此屬性,因爲它的類型不是NSString派生的。
而當我真正嘗試從AppleScript中的text
類型的這種新屬性獲取值時,它將失敗。調用我的應用程序中的正確方法,並返回正確的值NSString
,但AppleScript返回錯誤。有一個在控制檯的消息再次:
錯誤而返回的腳本命令的結果:結果 對象......「請求的NSString值」 ......無法轉換到 蘋果事件描述符類型的「文本」。類 '__NSCFString'的這個實例在發送-objectSpecifier(不是 覆蓋?)時返回nil,並且沒有爲腳本 類「text」聲明強制類型。
這可能意味着無法將Cocoa NSString
對象轉換爲AppleScript text
對象。
當我嘗試從一個新的布爾屬性獲取值時,它工作得很好。
我需要做什麼才能將NSString
對象轉換爲AppleScript text
對象?
沒有看到任何代碼,很難診斷。我最初的問題是1)內存被正確釋放,2)你是否正確地創建了NSString? – regulus6633
你可以請張貼一些代碼嗎? – evilgoldfish