Protocols
Declaration and initialization
Method requirements
Property requirements
Constructor requirements
Subscript requirements
Inheritance of interfaces
Protocol composition
Conformance checking (is, as)
Collection of interfaces
Type extension
Class-only protocols
Optional requirements
Protocol conformance adoption
Nested interface
@
protocol
Printable
-(
void
) print;
@
end
Printable
*printable = [
Printable
new
];
//<- Error