On Jul 2, 2008, at 2:48 PM, James Montgomerie wrote:
2) Define a custom C struct (like NSRect, but with e.g. 'string' and 'offset' members) and return objects in it. Just like any other returned objects, the caller would be expected to retain them individually if it needed to keep them around.
Someone asked a similar question recently, with something like this struct solution as one of the possible options. I rejected this option, but upon reflection my reasons didn't quite make sense; I don't think it's such a bad option now, though it makes me uncomfortable for some reason.
Another option you didn't mention is to return *both* values in pointers, and have the return type be void. This way you wouldn't be implying one is more important than the other. A method like this should have a name beginning with "get", as in getString:(NSString **)stringPtr offset:(int *)offsetPtr. There is quite a bit of precedent for methods of this form -- in the Xcode documentation window, you can do an API "Starts With" search, sort by language, and look at the Objective-C methods.
--Andy _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]