$OBJC_EXPORT{'application:openFile:'} = { 'args'=>'@@', 'return'=>'c' };

What do '@@' and 'c' mean? And why is this needed (but not needed for things like 'myApp::openDocument' which is called magically when I press M-o or click on File->Open)?

So, what are the type symbols? A complete list can be found in "Object Oriented Programming and the Objective-C Language", under the heading "Type Encoding" pp 119. The most useful ones, though, are:


'c' - char (also BOOL, which is a typedef'd char)
'i' - int
's' - short
'l' - long
'q' - long long
'C' - unsigned char
'I' - unsigned int
'S' - unsigned short
'L' - unsigned long
'Q' - unsigned long long
'f' - float
'd' - double
'v' - void
'*' - character string (char *)
'@' - an object, either statically-typed or id
':' - a selector


What would be the signature for


- (void)simpleEncrypt:(NSPasteboard *)pboard
            userData:(NSString *)userData
            error:(NSString **)error

(the problem being only the third parameter NSString** error) ?

I tried

@@@ which crashes horribly
@@^@ which says it is not supported
@@ which fortunately works but of course does not let me use the third parameter



Cheers,


Thilo



Reply via email to