當Xcode顯示具有默認參數值的函數/方法提示時,是否有任何規則?爲什麼Xcode不總是顯示一個參數默認值的提示?
這是我的意思。例如,在UIViewController
有present()
方法,像這樣的簽名:
func present(
_ viewControllerToPresent: UIViewController,
animated flag: Bool,
completion: (() -> Void)? = nil
)
當我在Xcode中鍵入它的名字,我只是暗示的全部方法聲明,包括completion
參數,可以省略:
-
本(viewControllerToPresent:UIViewController中,動畫:BOOL,完成:(() - >空隙)?)
然而,讓我們創建present
方法的副本:
func presentCopy(
_ viewControllerToPresent: UIViewController,
animated flag: Bool,
completion: (() -> Void)? = nil
) {...}
這個時候,Xcode的通知方法的大約兩個可能的版本:
-
presentCopy(viewControllerToPresent:UIViewController中,動畫:BOOL )
-
presentCopy(viewControllerToPresent:UIViewController中,動畫:BOOL, 完成:(() - >無效))
哪裏這一矛盾從何而來?
他們是內部規則我不認爲你可以改變。你問的原因是什麼?準確性在哪裏? –
我問的原因是因爲我想知道何時可以省略參數,何時不可以查看文檔中的每種方法。不一致的地方在於,它有時會給你一種方法的所有可能的形式,有時甚至是最充分的。 –
據我所知,這隻會發生在迅速和nt目標c。也許是因爲它建立在它之上 –