IOS:如何从方法声明中识别方法名称

时间:2016-12-21 08:30:56

标签: ios objective-c

我是IOS和目标C的新手。
 UIApplicationDelegate附带的以下方法声明令我困惑:




   - (BOOL) application:(UIApplication *)application
 didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;
  




根据介绍,方法名称应为didFinishLaunchingWithOptions,接受2参数,应用程序和launchOptions。





但基于我有限的知识,我认为该方法被命名为application,它接受2个参数,application和launchOptions。
任何人都可以帮助我理解这个方法声明?





第一列之前的第一个字符串不应该代表方法名吗?




7 个答案:

答案 0 :(得分:1)

请参阅this official documentation,了解如何在iOS中声明方法(使用Objective-C)。

注意:请参阅“方法可以参数”部分。

列表 -

1)没有args的方法

-(void) methodWithNoArgs

2)带有1参数的方法

-(void)methodWithOneArgument:(NSString*)argument1

3)具有多个args的方法

-(void)methodWithMultipleArguments:(NSString*)argument1 Arg2:(NSString*)argument2 Arg3:(NSString*)argument3

这里,“methodWithMultipleArguments,Arg2,Arg3”构成了方法名称的多个部分。

答案 1 :(得分:0)

此方法名为application:didFinishLaunchingWithOptions:,需要2个参数:applicationlaunchOptions

请注意,分号包含在方法名称中。

名称不限于第一个参数之前的部分,也包括参数名称之前的每个部分。因此,它创建了非常长的方法名称,但它也使语言更容易阅读。

答案 2 :(得分:0)

方法名称为application:didFinishLaunchingWithOptions:

参数:applicationlaunchOptions

答案 3 :(得分:0)

此协议消息的名称是:

application:didFinishLaunchingWithOptions:

答案 4 :(得分:0)

<强> 1)即可。每个应用程序都以UIApplicationDelegate -application开头:didFinishLaunchingWithOptions :(或者更确切地说,-application:willFinishLaunchingWithOptions :,实现时)。应用程序调用它来通知其代理启动过程正在完成,并且几乎准备好运行。

<强> 2)即可。确定应用程序启动的原因和方式是launchOptions参数的责任。与userInfo字典一样,-application:didFinishLaunchingWithOptions:可以获取launchOptions中特定命名键的信息。

第3)即可。许多这些密钥也可以在应用程序启动时发布的UIApplicationDidFinishLaunchingNotification通知中找到。查看文档以获取更多详细信息。

<强> 4)即可。虽然它们很多,但是当组织成组时,可以更容易地理解launchOptions键,这与启动应用程序的原因相对应。

答案 5 :(得分:0)

您可以将冒号(:)的左侧部分视为参数,将右侧部分视为参数,当有多个参数时,方法名称应由colon (:)的所有左侧部分连接生成。所以,

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;

application:didFinishLaunchingWithOptions:应该是方法名称,而位于右侧的applicationlaunchOptions是参数。

Objective - C是一个 descriptive language ,因此应该编写它的语法(方法名称),因为任何人都可以知道这个方法会做什么以及参数是什么。因此,为了理解目的,您可以说方法名称是didFinishLaunchingWithOptions,因为这句话给出了方法的含义,但技术上方法名称是application:didFinishLaunchingWithOptions:。当我们编写自定义方法时,我们也应该遵循这个协议(写方法名称,因为它描述了方法和参数的目的)!

理想情况下,第一个参数应该是方法类的实例,如果方法包含instance of class作为parameter

答案 6 :(得分:0)

- (BOOL)application:(UIApplication *)application 
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;

在上述情况中:

方法名称 - applicationdidFinishLaunchingWithOptions

-表示实例方法,类方法为+

(BOOL)是方法的返回类型,

application:(UIApplication *)是应用程序对象本身,

(NSDictionary *)launchOptions是参数

相关问题