Objective c 什么是子程序和方便的初始值设定项?

Objective c 什么是子程序和方便的初始值设定项?,objective-c,function,initialization,subroutine,initializer,Objective C,Function,Initialization,Subroutine,Initializer,我大约在8个月前开始学习编程,从C开始,OOP,现在进入iOS,这是我的目标。在大多数情况下,一切都进展得相当顺利,我已经开始在xcode上编程小型应用程序。只是一些小术语,比如子程序和方便的初始值设定项,有时会让我感到不舒服。有谁能给我定义一下这些术语,并给我一个简单的例子说明它们的用法吗?在我的演示中,我没有使用它们,但是我学习的讲座提到了它们,但是它们没有很好地解释它们。网上关于这些术语的信息也不多。顺便说一句,我知道这些术语完全无关 感谢您的帮助,Objective-C中的“子例程”称为

我大约在8个月前开始学习编程,从C开始,OOP,现在进入iOS,这是我的目标。在大多数情况下,一切都进展得相当顺利,我已经开始在xcode上编程小型应用程序。只是一些小术语,比如子程序和方便的初始值设定项,有时会让我感到不舒服。有谁能给我定义一下这些术语,并给我一个简单的例子说明它们的用法吗?在我的演示中,我没有使用它们,但是我学习的讲座提到了它们,但是它们没有很好地解释它们。网上关于这些术语的信息也不多。顺便说一句,我知道这些术语完全无关

感谢您的帮助,Objective-C中的“子例程”称为A,它由说明符、返回值和参数组成。类方法只能发送到声明类,而实例方法需要调用实例

示例类方法可能如下所示:

+(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
的消息。例如,'s
+array
方法返回空数组,或者's
+dictionary
方法返回空字典

而以前,它需要这样的信息:

myArray = [NSArray alloc] init]; //long and unnecessary

便利初始值设定项是一个接受参数的初始值设定项,这样您就可以使用除nil以外的值初始化对象。

理想情况下,两个完全不相关的术语将成为两个独立问题的主题。C->OOP->IOS。。。是的…:/挑剔:方法只是一种子程序。函数和块也是子例程。