84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
学习swift的时候看到一些关于函数的命名规范和使用的疑惑。
比如下面这个函数,它是首字母大写的,同时它是定义在类外部的。
let data = UIImagePNGRepresentation(image)
这种写在类外面的函数叫做什么函数呢?
什么时候需要写在类外面呢?
为什么它是首字母大写呢?
ringa_lee
這種才是函數,類別裡面的叫做方法method。這是c函數,c沒類型所以他只能這麼寫。首字母大寫是規範,他是UIKit下的一個函數,所以前面有UI。
一般稱 Class 內部的為 Method,也就是方法;而外部的成為 Function,也就是函數。
當你寫在外面時,這個函數在呼叫時是不需要透過 Class 或 Class 的實例去掉用的。
首字母大寫的原因是因為,Apple 的古老傳統。因為在 Objective-C 時代是沒有命名空間一說的,所以很多情況下會出現名稱衝突。所以 Cocoa 框架中的 Class 都是有前綴的,像是 NS、UI 等等(舉個簡單例子:UIImage 與 CGImage 如果沒有前綴的話,你可以想像一下)。而 Apple 約定前綴均為大寫形式,故如此。
public func after_delay(time:NSTimeInterval,block: dispatch_block_t){ let time_uint64:UInt64 = UInt64(time) let delay = dispatch_time(DISPATCH_TIME_NOW. _get_main_queue(), block) }就比如這樣,你也可以自己寫成這樣的函數,你調用的時候用就不需要用類或者結構體枚舉等之類的來調用,可以直接使用
after_delay(1, block: { () -> Void in alert(notice, dismiss: false) })
UIImagePNGRepresentation()這個就是C函數。 OC是可以編譯C語言的。這個函數定義在UIKit框架中。
這種才是函數,類別裡面的叫做方法method。這是c函數,c沒類型所以他只能這麼寫。首字母大寫是規範,他是UIKit下的一個函數,所以前面有UI。
一般稱 Class 內部的為 Method,也就是方法;而外部的成為 Function,也就是函數。
當你寫在外面時,這個函數在呼叫時是不需要透過 Class 或 Class 的實例去掉用的。
首字母大寫的原因是因為,Apple 的古老傳統。因為在 Objective-C 時代是沒有命名空間一說的,所以很多情況下會出現名稱衝突。所以 Cocoa 框架中的 Class 都是有前綴的,像是 NS、UI 等等(舉個簡單例子:UIImage 與 CGImage 如果沒有前綴的話,你可以想像一下)。而 Apple 約定前綴均為大寫形式,故如此。
一般稱 Class 內部的為 Method,也就是方法;而外部的成為 Function,也就是函數。
當你寫在外面時,這個函數在呼叫時是不需要透過 Class 或 Class 的實例去掉用的。
首字母大寫的原因是因為,Apple 的古老傳統。因為在 Objective-C 時代是沒有命名空間一說的,所以很多情況下會出現名稱衝突。所以 Cocoa 框架中的 Class 都是有前綴的,像是 NS、UI 等等(舉個簡單例子:UIImage 與 CGImage 如果沒有前綴的話,你可以想像一下)。而 Apple 約定前綴均為大寫形式,故如此。
public func after_delay(time:NSTimeInterval,block: dispatch_block_t){
let time_uint64:UInt64 = UInt64(time)
let delay = dispatch_time(DISPATCH_TIME_NOW. _get_main_queue(), block)
}
就比如這樣,你也可以自己寫成這樣的函數,你調用的時候用就不需要用類或者結構體枚舉等之類的來調用,可以直接使用
UIImagePNGRepresentation()這個就是C函數。 OC是可以編譯C語言的。這個函數定義在UIKit框架中。