objective-c - Swift 里 guard 的里面不能用变量吗 , 那我想修改怎么办。
高洛峰
高洛峰 2017-05-02 09:24:41
0
2
518

//我想在guard 改变num2的值.可是报错了
func demoGuard() {

    let oNum: Int? =  nil
    
 guard var num2 = oNum else{
        num2 = 10
        return
    }    
    

}

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

membalas semua(2)
为情所困

Skop num2 hanya selepas guard, tetapi ia kembali apabila ia pergi ke else Apakah maksud menukar nilai num2 pada masa ini? Saya menganggap anda mahu menukar nilai oNum? Dalam kes ini, anda boleh menukar let oNum kepada var oNum secara berjaga-jaga, tetapi perkara yang sama tidak bermakna. Ia juga mungkin masuk akal jika nilai yang anda ingin ubah ialah nilai parameter jenis inout yang dihantar semasa panggilan luaran.

过去多啦不再A梦

Keperluan ini sangat pelik, mengapa tidak menggunakan operator

num2 = oNum ?? 10
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan