我大约8个月前开始学习编程,从C,OOP开始,现在开始学习iOS,这是我的目标。在大多数情况下,一切都很顺利,我已经开始通过在xcode上编写小应用程序来练习。它只是像子程序和便利初始化程序这样的小术语,有时会让我失望。任何人都可以为我定义这些条款,并给我一个快速的例子来说明它们的用法吗?在我的演示中,我没有必要使用它们,但我学习的讲座提到了它们,但是它们并没有很好地解释它们。在线这些条款的信息也不多。顺便说一下,我知道这些条款完全不相关
感谢任何帮助,谢谢
答案 0 :(得分:2)
便利初始化程序是一个接受参数的程序,因此您可以使用nil以外的值初始化对象。
答案 1 :(得分:1)
Objective-C中的“子例程”称为method,它由一个说明符,一个返回值和参数组成。类方法只能发送到声明类,而实例方法需要调用实例。
示例类方法可能如下所示:
+(void)doMagicWithString:(NSString*)magicString;
简单地称为:
[MyDeclaringClass doMagicWithString:@"Example"];
+表示它的类方法状态,doMagicWithString:是方法的实际名称,magicString是它的参数。
示例实例方法可能如下所示
-(CFRabbit*)beVewyQuiet:(BOOL)quiet imHuntingWabbits:(CFHunter*)hunter;
在C中看起来像这样:
CFRabbit* beVewyQuiet(bool quiet, CFHunter* hunter);
此方法返回CFRabbit *类型的对象,并且只能由类的活动实例调用,如下所示:
[self.myInstanceOfDeclaringClass beVewyQuiet:YES imHuntingWabbits:nil];
“便利初始化程序”(便捷方法)只是一个用一个快速简单的类方法替换+alloc
和-init
的消息。例如,NSArray的+array
方法返回一个空数组,或NSDictionary的+dictionary
方法返回一个空字典。
而在此之前,需要这样的信息:
myArray = [NSArray alloc] init]; //long and unnecessary