2012-04-06 9 views
0

OK. Also, lassen Sie uns sagen:Applescript-fähiger Cocoa: Verweis auf NSArray von Objekten?

  • ich habe eine Klasse myCollection, eine Klasse myObject und eine Eigenschaft objects in myCollection Rückkehr eine NSArray von myObject s

Da ich richtig meine .sdef Datei eingerichtet haben Für die Klassen myCollection und myObject, wie sollte ich meine objects Eigenschaft dort auch definieren?

Ich meine, so weit ich so etwas tun können:

tell application "myApplication" 
    collection's activeObject's name 
end tell 

Was ich will, ist in der Lage sein, die myObject s als Elemente eines Arrays zuzugreifen:

tell application "myApplication" 
    set Obj to collection's object 0 
end tell 

Dies ist mein .sdef (fast ...) so weit:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE dictionary SYSTEM "file://localhost/System/Library/DTDs/sdef.dtd"> 
<dictionary xmlns:xi="http://www.w3.org/2003/XInclude"> 
    <xi:include href="file:///System/Library/ScriptingDefinitions/CocoaStandard.sdef" xpointer="xpointer(/dictionary/suite)"/> 
    <suite name="myApplication Suite" code="myRm" description="myApplication Suite"> 
     <class name="application" code="camy" description="myApplication&apos;s top-level scripting object." inherits="application"> 
      <cocoa class="myApplication"/> 
      <property name="myname" code="PEnm" description="The name of the application" type="text" access="r"> 
       <cocoa key="myname"/> 
      </property> 
      <property name="currentContents" code="PEnc" description="The current contents" type="text" access="r"> 
       <cocoa name="currentContents" /> 
      </property> 
      <property name="activeDocument" code="PEad" description="The active document" type="document" access="r"> 
       <cocoa name="activeDocument" /> 
      </property> 
     </class> 
     <class name="document" code="cDoc" description="myApplication document"> 
      <cocoa class="myDocument"/> 
      <property name="alias" code="cDal" description="The document's alias" type="text" access="r"> 
       <cocoa key="alias" /> 
      </property> 
      <property name="content" code="cDco" description="The document's content" type="text" access="rw"> 
       <cocoa key="content" /> 
      </property> 
     </class> 
    </suite> 

</dictionary> 

Wie soll ich darüber gehen?

Antwort

0

, dass alles, was ich brauchte:

<class name="editor" code="cDed" description="myEditor"> 
     <cocoa class="myEditor"/> 
     <element type="document" access="r"> 
      <cocoa name="documents" /> 
     </element> 
    </class> 
    <class name="document" code="cDoc" description="myDocument"> 
     <cocoa class="myDocument"/> 
     ....