私はちょうどカップルの日Swiftに切り替えるだけです。私は接尾辞と接頭辞++と - がSwift 3で削除されることに気付きました。私はいくつかの研究を行い、Swiftのウェブサイト上のアナウンスに従って++と - + = 1と - = 1に置き換えられます。ここにリンクしてくださいNew Features in Swift 2.2++と+ = 1はまったく同じですか?
私はSwiftの古いバージョンでうまく動作するコードを持っています。私はreturn counter1++
から変更した場合return counter1 += 1
に私の元のコードで、エラーが
NO「+ =」候補が予想文脈型がここにint型
は私の例で生成していないと言ってポップアップ表示され
func countingCounter() -> (() -> Int){
var counter1 = 0
let incrementCounter1:() -> Int = {
return counter1+=1 //original is counter1++
}
return incrementCounter1
}
私はこれを解決しようとしましたが、依然としてスタックしました。
私は推測していますが、私の推測は次のとおりです。この言語では、 '+ ='式は値を返さないので 'return couter1 + = 1; 'counter + = 1'を実行してから' return counter1'を実行する必要があります。 – Walfrat
@Walfratこれは '++'が消える可能性があることをほぼ正当化します...この場合、 'return counter1 ++'は本当に 'counter2 = counter1;カウンタ1 + = 1; return counter2'となる。 Postfixは頻繁に起こるのを待っているエラーです... – donkopotamus
後置接尾辞/接頭辞を返す++は良い考えではありません。実際に何をしているのかを本当に知っている開発者と一緒に真のパフォーマンス目的のために予約する必要があります。 – Walfrat