@echo off
assoc .sh=shellscript
ftype shellscript="C:\cygwin\bin\mintty.exe" -w max -h always -t "%%1" -e /bin/bash -li -c 'printf "\033]0;$(cygpath -u "%%1")\007" ^&^& cd "$(dirname "$(cygpath -u "%%1")")" ^&^& bash "$(cygpath -u "%%1")"'
pause
为什么会出现“inArray然后”arr“......重点是什么?
“withFunc和”aFunc“相同,它使代码更复杂,阅读更麻烦,为什么它们甚至被使用?
答案 0 :(得分:10)
inArray是函数调用者在传递参数时应使用的外部名称。 arr是函数实现者在实现中用于引用参数的内部名称。您不必提供外部名称。它使其更具可读性。更像是将快速函数名和参数作为Objective-C函数可读。
答案 1 :(得分:6)
我不会因为有不同的内部和外部名称而被出售。
拥有或不拥有外部名称对我有意义。
object.BeepXTimes(6)
不需要外部名称作为参数,因为函数名称暗示了参数的含义。
我认为,基本原理是,有时候函数的外部参数的命名是用来对句子中的调用者有意义的:
someView.animateInWithDuration(0.25, withTimingFunction: .easeIn)
外部名称withTimingFunction
使函数调用看起来像一个句子,但是withTimingFunction
会产生一个糟糕的内部参数名称。您可能希望参数名称仅为timingFunction
。拥有单独的内部和外部参数名称可以实现这一目标。
但对我而言,功能定义中所需的额外复杂性似乎并不值得。好消息是默认是为内部和外部参数名称使用相同的名称创建参数,因此标准语法简单易读。
答案 2 :(得分:0)
这些是内部和外部参数名称。
就像在Obj-C中一样,你可能有
- (void)calculateFoo:(id)foo withBar:(id)bar ...
[object calculateFoo:var1 withBar:var2];
在Swift中,我们使用
func calculateFoo(foo: AnyObject, withBar bar: AnyObject) ...
object.calculateFoo(var1, withBar: var2)
内部名称foo
和bar
只能在函数/方法中访问。外部名称提供了用于调用函数的参数 labels 。
在您的情况下,您需要使用内部名称nibBundle
。这是在函数体内可访问的那个。