2016-04-04 7 views
2

こんにちは、私の友人はクライアントの既存プロジェクトを教えてくれて、バグが多すぎます。私は、このコード行を越えスウィフト2の使用#

class func saveFile(#data: NSData, filename: String, directory: NSSearchPathDirectory = .DocumentDirectory) -> Bool { 
    var file = filePath(filename, directory: directory) 
    return data.writeToFile(file, atomically: true) 
} 

をアプリをデバッグし、ちょうどカムされている#に気づきましたか?だから正確に#は何ですか?

#の機能のスクリーンショットです。

追加情報:私は彼らがこのライブラリを使用したと思います。Service Stackと私はそれがザマリンのためだと思います。スウィフト1において

+0

ServiceStackは.NETサーバーフレームワークですが、XcodeからAPIデータ転送オブジェクトタイプ(DTO)を生成することで、Swiftクライアントとうまく統合できます。 [関連するドキュメントはこちら](https://github.com/ServiceStack/ServiceStack/wiki/Swift-Add-ServiceStack-Reference)を参照してください。 –

答えて

7

#は、関数パラメータに同一の外部および内部の名前を与えるために使用しました。例えば、関数の定義:

func save(#data: Float) { 
    print(data) 
} 

はと同等であった:

func save(data data: Float) { 
    print(data) 
} 

これはスウィフト2で除去し、外部名を明示的に宣言する必要があります。


外部パラメータ名は、関数呼び出しをより慣用的にするために使用されます。たとえば:

func send(sender: String, receiver: String) { 
    print("Sending from \(sender) to \(receiver)") 
} 

は次のように呼び出されます。コードを作る

func send(from sender: String, to receiver: String) { 
    print("Sending from \(sender) to \(receiver)") 
} 

send("Cupertino", "New York") 

を外部パラメータを追加することにより、あなたは身体を変更することなく、その関数の呼び出しは、より慣用的なことができますより読みやすい:

send(from: "Cupertino", to: "New York") 

詳細情報はApple docsです。

+0

ありがとう!ですから、私の次は、すべてのコードを変更することです。悲しいことにEdit> Convertが動作しない –

+0

'(func [^ \(] + \()#\ *([^ \:] +)'のような正規表現を使用し、 '\ 1 \ 2 \ 2' – redent84

+0

ハッシュタグ引き出しを感じているならば、Swift 2.2にはまだ多くの '#'がありますので、心配しないでください。 – rickster

関連する問題