2017-03-08 12 views
-1

大きな問題ではありませんが、最初に直面したときに少し混乱しました。 これがobj Cのデリゲートメソッドの元の宣言だった:メソッド名がObj Cからswiftに変更されました

- (void)serialPortWasRemovedFromSystem:(ORSSerialPort *)serialPort 

そして、私は迅速にそれを翻訳したときに、それはなった:

func serialPortWasRemovedFromSystem(_ serialPort: ORSSerialPort) 
しかし、その後のXcodeがエラーを示し、名前を変更するために私を提案

func serialPortWasRemoved(fromSystem serialPort: ORSSerialPort) 

なぜこの代理人の名前を何度も変更したのですか?なぜか教えてくれますか?ありがとうございました! 〜

+0

Swift 3で関数の構文が変更されました。 –

答えて

2

大部分は、Swift 3 であるためです。 Objective-C APIは、名前をより簡潔にし、より迅速にするために「名前を変更」されています。

詳細については、thisとそれがリンクする他の2つのドキュメントをお読みください。

+0

ここで私の簡単な説明もご覧ください:http://www.aptt.com/swiftBook/apa.html#_objective_c_methods – matt

+0

私はそれを得ました!ありがとうございました! – user3778432

関連する問題