我开始参加斯坦福大学关于itunes的iOS编程课程的第二讲,并对上述陈述的确切含义感到困惑.幻灯片和演讲本身就是:'方法的参数(比如atTop:参数)绝不是可选的'.
以下是讲师提到的示例方法,他说论证永远不是"可选的":
- (void)addCard:(Card *)card atTop:(BOOL)atTop;
Run Code Online (Sandbox Code Playgroud)
他继续说,如果你想要一个没有addTop的addCard:方法:我们可以单独定义它:
如,
- (void)addCard:(Card *)card;
Run Code Online (Sandbox Code Playgroud)
我只是对他的意思感到困惑.我一直认为方法论证总是可选的,但我想我错过了一些明显的东西.他是否只是意味着在这种情况下你不能离开atTop:只是挂在那里因为它与第一种方法相关联?
有人可以帮忙吗?谢谢.
Objective C方法签名是一种独特的野兽.如果是
- (void)addCard:(Card *)card atTop:(BOOL)atTop;
Run Code Online (Sandbox Code Playgroud)
实际的函数签名是addCard:atTop:,意思是addCard:不会被识别,因为它没有被定义(除非你已经在别处明确定义).也就是说,你总是可以nil代替任何指针参数,但在这种情况下这不会起作用,因为它BOOL是原始的.
| 归档时间: |
|
| 查看次数: |
59 次 |
| 最近记录: |