On 22 Jan 2014, at 17:50, Herman Chan <herman...@gmail.com> wrote:

> this seems to be the modernized version of it: 
> https://github.com/brynbellomy/ObjC-DesignByContract
This is indeed a later implementation.
It uses a metamacro approach as used in ReactiveCocoa.
The code also has dependencies on another library that is not included as a 
submodule so a quick out of the box evaluation isn’t available.
Neither this code nor the original look thread savvy - they both persist the 
contract state in a static variable.

> 
> On 22 Jan 2014, at 12:37, Jens Alfke wrote:
> 
>> On Jan 22, 2014, at 8:03 AM, jonat...@mugginsoft.com wrote:
>> 
>>> I  know there are some macros available, http://www.roard.com/contracts/, 
>>> but I haven’t experimented further as yet
>> 
>> Interesting. I like the idea of dynamically creating a subclass that wraps 
>> the methods to be checked, but I don't like doing it with a bunch of macros. 
>> I wonder if there's a cleaner way to do it nowadays using newer Obj-C 
>> runtime features. (I'm assuming that code is old since the examples don't 
>> use any modern language features like properties.)
The newer implementation eschews the dynamic subclassing approach.
I am also not drawn to the metamacro approach.

The old implementation uses -poseAsClass: and therefore is a dead duck on 
64bits.

A runtime approach as you suggest makes sense. KVO style subclassing comes to 
mind and associated objects could handle any state persistence.

Jonathan


_______________________________________________

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to