2013-06-19 62 views
0

我正在阅读一本关于iOS编程的书,并且遇到了一些令人困惑的问题。以相同的方法声明两次

从我学会为止,在实现方法是这样的

- (return type)methodName: (return type)parameter methodName2:(return type)parameter 

但是,为什么你有同样的方法实现了两次?就像这样:

- (return type)methodName: (return type)parameter methodName2:(return type)parameter 
{ 
// Code here 
} 
- (return type)methodName: (return type)parameter methodName3:(return type)parameter { 
// Code here 
} 

这是否仅仅意味着有使用相同的方法名两个声明,但它知道哪些实现基于在执行所有的方法?我的印象是,第一个方法名称是“方法”,其余的是该方法的参数。

回答

5

有两种不同的方法在这里,它们被命名为

methodName:methodName2: 

methodName:methodName3: 

在Objective-C, “全法名称” 所有参数传播。

+1

谢谢!来自PHP的一些混淆,但是清除了一些东西。 – humdinger

+0

我同意:)如果你使用Xcode,你会看到它是如何解析,如果你鼠标悬停并按住cmd(或无论哪个键),它会强调组成方法名称的部分。 – faffaffaff