Macros for Designing by Contract in Objective-C simplifies the process of using the Design by Contract software methodology invented and pushed by Bertrand Meyer. This involves creating a "contract" for each Object in your program that explicitly states the input and output ranges that the Object expects. The macros implement the pre- and post-assertions as well as invariants and references to "old" variables (the state of the variable before entering a method).
I closed my site and put an explication text about software patents you could find useful -- feel free to use it of course.
(I typed it quickly, so tell me if I did errors ;-)