3 Stimmen

XCode / AppleScriptObjC Neuling

Ich bin neu in der Welt von Xcode 4.4 und AppleScriptObjC. Ich versuche, ein Tutorial zu AppleScriptObjC im Buch "Learn AppleScript" von Sanderson und Rosenthal zu erweitern und zu experimentieren, und ich bin auf ein Problem gestoßen. Der Code:

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 "Hier ist der von Ihnen eingegebene Text:" & return & theText default answer "")
    textfield's setStringValue_(dialogText)
end buttonClick

läuft einwandfrei, und ich erhalte den Dialog wie erwartet, und alles funktioniert. Aber wenn ich herumspielen und diese zwei Zeilen hinzufügen (an den entsprechenden Stellen natürlich):

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

Das Programm läuft immer noch - ABER! - wenn ich zur MainMenu.xib gehe und auf AppDelegate klicke, um den Outlets-Inspektor zu öffnen ... gibt es keinen Outlet für anotherTextField, obwohl es sollte.

Irgendwelche Ideen?

0voto

Shan Schek Punkte 1

Ich bin auch neu in AppleScript und ein häufiges Problem, das ich hatte, war, dass ich zunächst Eigenschaften innerhalb des applicationWillFinishLaunching Abschnitts deklariert habe. Überprüfen Sie das. Wenn es immer noch nicht funktioniert (Sie haben erwähnt, dass Sie den Code am richtigen Ort hinzugefügt haben), versuchen Sie, die Deklaration der Eigenschaft des zweiten Textfeldes vor dem "property parent" Teil zu platzieren. Könnte funktionieren, denke ich...

Versuchen Sie, den vollständigen Code Ihrer AppDelegate.applescript zu veröffentlichen

Viel Glück!

0voto

YeaTheMans Punkte 957
  1. Stellen Sie sicher, dass die hinzugefügte Eigenschaft nicht innerhalb einer Aktion steht

zum Beispiel. Das wird nicht funktionieren:

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

zum Beispiel. Das sollte funktionieren:

    property anotherTextField : missing value
    on buttonClick_(sender)
        ....
    end buttonClick
  1. PS. Sie haben die Variable "anotherTextField" erstellt, aber in der Aktion haben Sie "otherTextField" verwendet

    property ---> anotherTextField <--- : missing value
    ...
    set theText to textField's stringValue() & ---> otherTextField <---'s stringValue()
  2. Wenn nichts davon hilft, könnte ich es besser verstehen, wenn Sie Ihren vollständigen Code posten, dann könnte ich Ihnen vielleicht mehr helfen :D

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X