ios - swift函数的一些疑惑
ringa_lee
ringa_lee 2017-04-17 17:39:31
0
5
317

学习swift的时候看到一些关于函数的命名规范和使用的疑惑。

比如下面这个函数,它是首字母大写的,同时它是定义在类外部的。

let data = UIImagePNGRepresentation(image)
  1. 这种写在类外面的函数叫做什么函数呢?

  2. 什么时候需要写在类外面呢?

  3. 为什么它是首字母大写呢?

ringa_lee
ringa_lee

ringa_lee

全員に返信(5)
大家讲道理

これは関数であり、クラス内の関数をメソッドと呼びます。これは C の関数です。C には型がないため、このようにしか記述できません。最初の文字は大文字です。これは UIKit の下にある関数なので、その前に UI があります。

いいねを押す +0
迷茫
  1. 一般に、クラスの内部部分はメソッド (メソッド) と呼ばれ、外部部分は関数 (関数) と呼ばれます。

  2. 外部に記述する場合、この関数を呼び出すときに Class または Class インスタンスを通じて削除する必要はありません。

  3. 最初の文字が大文字である理由は、Apple の古くからの伝統によるものです。 Objective-C 時代には名前空間というものが存在しないため、名前の競合が頻繁に発生する可能性があります。したがって、Cocoa フレームワークのクラスにはすべて、NS、UI などの接頭辞が付けられます (簡単な例を挙げると、UIImage や CGImage など、接頭辞がない場合は想像できると思います)。 Apple はプレフィックスがすべて大文字であることに同意しているため、これが当てはまります。

いいねを押す +0
洪涛
  1. 一般に、クラスの内部部分はメソッド (メソッド) と呼ばれ、外部部分は関数 (関数) と呼ばれます。

  2. 外部に記述する場合、この関数を呼び出すときに Class または Class インスタンスを通じて削除する必要はありません。

  3. 最初の文字が大文字である理由は、Apple の古くからの伝統によるものです。 Objective-C 時代には名前空間というものが存在しないため、名前の競合が頻繁に発生する可能性があります。したがって、Cocoa フレームワークのクラスにはすべて、NS、UI などの接頭辞が付けられます (簡単な例を挙げると、UIImage や CGImage など、接頭辞がない場合は想像できると思います)。 Apple はプレフィックスがすべて大文字であることに同意しているため、これが当てはまります。

いいねを押す +0
阿神

public func after_lay(time:NSTimeInterval,block:dispatch_block_t){
let time_uint64:UInt64 = UInt64(time)
let late =dispatch_time(DISPATCH_TIME_NOW, Int64(time_uint64 * NSEC_PER_SEC))
dispatch_after( late,dispatch_get_main_queue(),block)
}
このように、このような関数を自分で記述することもでき、呼び出すときにクラスや構造体の列挙を使用する必要はありません。直接使用できます

リーリー
いいねを押す +0
Peter_Zhu

UIImagePNGRepresentation() これは C 関数です。 OCはC言語をコンパイルできます。この関数は UIKit フレームワークで定義されています。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート