Я не думаю, что есть простой способ обеспечить эту реализацию. Вы запрашиваете что-то, что является языковой функцией Java, для реализации в Objective-C - вы можете сделать это, но вы должны сами написать код, который находится во время выполнения Java - ничто не мешает вам делать это, но не то, что встроено в язык.
Это немного похоже на вопрос «Как мне показать стиль интерфейса Windows« по одному меню на окно »в Какао» - вы можете сделать это, но это не предоставляется бесплатно из фреймворка. Или, «как я могу легко реализовать обработку нулевого указателя в Objective-C в Java?»
Если вы действительно хотите увидеть этот тип функциональности, я думаю, вы должны следовать шаблону проектирования NSArray / NSMutableArray. Объявите суперкласс, который может обрабатывать все ваши особые случаи:
@interface NullPizza : NSObject
{
}
- (BOOL)areYouANullPizza;
@end
и затем создайте подкласс с вашей настоящей Pizza и включите метод класса newNullPizza (который является просто синтаксическим сахаром):
@interface Pizza : NullPizza
{
}
+ (Pizza*)Null;
@end
@implementation Pizza
+ (Pizza*)newNullPizza
{
return [[NullPizza]alloc init]; // Singleton code left as an exercise.
}
- (BOOL)areYouANullPizza;
{
return NO;
}
@end
Обратите внимание, что если вы хотите реализовать метод +(Pizza*)NULL
в Pizza, вы должны автоматически выпустить новую созданную вами NullPizza.
Отказ от ответственности, я набрал этот код прямо в SO. Я был бы удивлен, если бы он компилировался, но вы поняли.