Как мне записать метод, аргумент которого может быть либо объектом определенного типа, либо nil? Вы все время видите их в классах фреймворка, но я только что столкнулся с моим первым экземпляром, где было бы полезно создать его.
- (void) myMethod:(Parameter *)aParameter { if (aParameter == nil) { ... } else { ... } }
В другом месте:
[anObject myMethod:foo];
Или:
[anObject myMethod:nil];
Вы всегда можете передать nil вместо объекта, нет ничего особенного, что вам нужно указать.