[Mono-osx] [ANN] objc3-sharp

Jesse Jones jesjones at mindspring.com
Mon Jun 9 18:53:20 EDT 2008


On Jun 9, 2008, at 11:32 AM, Laurent Etiemble wrote:

>> 1) In monobjc methods are called like this:
>>
>> Class cls1 = Class.GetClassFromName("TestClass04");
>> int result = ObjectiveCRuntime.SendMessage<int>(cls1, "TestWithA:b:",
>> 789, 345);
>>
>
> The syntax above is the one used internally (or in very specific
> cases). A method call can be as simple as:
>
> TestClass04 instance = new TestClass04();
> int result = instance.TestWithAB(789, 345);

Sure, but that's not how you call an arbitrary native method. It's  
just a call to a wrapper method. Of course, I guess you have wrapped  
all or most of Cocoa...
>
>> 4) monobjc doesn't seem to do anything to simplify reference  
>> counting.
>> objc3-sharp relies on the GC to know when to release objects which
>> dramatically simplifies reference count management.
>>
>
> As Monobjc is targeted to both Objective-C 1.0 and Objective-C 2.0,
> there is no link to the GC (maybe in the future). For the moment,
> reference counting is the way to go (it works the same as in
> Objective-C with retain/release).

Sorry, I wasn't very clear. What I meant was that instead of the  
programmer claiming ownership of an object via a retain call the .NET  
runtime itself claims ownership which it releases via Dispose or the  
Objc3.NSObject finalizer. I'd like to experiment with using the native  
GC though, it seems like it would be doable...

   -- Jesse


More information about the Mono-osx mailing list