To apply for a free license for open source development:
Please make sure that you meet the following criteria:
You are the project lead or a committer
You have been working on your open source project for a minimum of 3 months
Your community is active. This means that you have recent activity in your newsgroups or forums
You have an updated News section on your site
You release updated builds on a regular basis
Provide us with details about you and your project at this online form. We will review your application and e-mail you with further instructions.
How to renew
If you already have an OSS license and would like to get it renewed, please send an email to firstname.lastname@example.org indicating the number of your license certificate and a link to the latest release pages of your project or something that indicates your project is alive and kicking!
The following lines of code illustrate a few more property declarations:
@property (copy) MyModelObject *theObject; // Copy the object during assignment.
@property (readonly) NSView *rootView; // Declare only a getter method.
@property (weak) id delegate; // Declare delegate as a weak reference
The compiler automatically synthesizes declared properties. In synthesizing a property, it creates accessor methods for it as well as a private instance variable that “backs” the property. The instance variable has the same name as the property but with an underscore prefix (_). Your app should directly access an instance variable (instead of its property) only in methods for object initialization and deallocation.
Blocks are objects that encapsulate a unit of work—that is, a segment of code—that can be executed at any time. They are essentially portable and anonymous functions that one can pass in as parameters of methods and functions or that can be returned from methods and functions.
nil is essentially the same as NULL
A protocol declares methods that can be implemented by any class, even if those classes implementing the protocol don’t have a common superclass. Protocol methods define behavior that is independent of any particular class. Protocols simply define an interface that other classes are responsible for implementing. When your class implements the methods of a protocol, your class is said to conform to that protocol.
You cannot use a reference to a dynamically typed object (object of type id) in a dot-notation expression.