3

私は Xcode 4.4 と AppleScriptObjC の世界にまったく慣れていません。Sanderson と Rosenthal による本「Learn AppleScript」の AppleScriptObjC に関するチュートリアルを拡張して実験しようとしていますが、問題が発生しました。コード:

property parent : class "NSObject"
property textField : missing value

on buttonClick_(sender)
    set theText to textField's stringValue()
    set dialogText to text returned of (display dialog "Here is the text your entered: " & return & theText default answer "")
    textfield's setStringValue_(dialogText)
end buttonClick

完全に実行され、期待どおりにダイアログが表示され、すべてが機能します。しかし、いじって次の 2 行を (もちろん適切な場所に) 追加しようとすると、次のようになります。

property anotherTextField : missing value
...
set theText to textField's stringValue() & otherTextField's stringValue()

プログラムはまだ実行されます - しかし!- MainMenu.xib に移動し、Ctrl キーを押しながら AppDelegate をクリックしてアウトレット インスペクタを取得すると、あるはずの別のテキスト フィールドのアウトレットがありません。

何か案は?

4

2 に答える 2

0

私も AppleScript は初めてで、よくある問題は、最初に applicationWillFinishLaunching セクション内でプロパティを宣言したことでした。それを確認します。それでもうまくいかない場合 (適切な場所にコードを追加したと述べました)、2 番目のテキスト フィールドのプロパティ宣言を「プロパティの親」部分の前に配置してみてください。うまくいくかもしれません…</p>

AppDelegate.applescript の完全なコードを投稿してみてください

幸運を!

于 2013-01-24T20:46:44.403 に答える
0
  1. 追加したプロパティがアクション内にないことを確認してください

例えば。これはうまくいきません:

    on buttonClick_(sender)
        property anotherTextField : missing value
        ....
    end buttonClick

例えば。これはうまくいくはずです:

    property anotherTextField : missing value
    on buttonClick_(sender)
        ....
    end buttonClick
  1. PS。変数「anotherTextField」を作成しましたが、アクションでは「otherTextField」を使用しました

    property ---> anotherTextField <--- : missing value
    ...
    set theText to textField's stringValue() & ---> otherTextField <---'s stringValue()
    
  2. これが役に立たない場合は、完全なコードを投稿していただければ、よりよく理解できるかもしれません。さらにお手伝いできるかもしれません:D

于 2016-10-18T01:56:36.437 に答える