Bagaimana saya bisa mengubah item dalam array (Tidak dapat mengonversi nilai tipe 'Int' ke tipe argumen yang diharapkan 'String')

var headersSend: HTTPHeaders = [
            "changeMe": "none",
            "Accept": "application/json"
        ]
  
  headersSend[0] = "changeMe" : "Changed!" // <--- ? Cannot convert value of type 'Int' to expected argument type 'String'
0
dn70a 19 November 2020, 16:00

1 menjawab

Jawaban Terbaik

headersSend adalah kamus, bukan larik. Ini menyimpan pasangan kunci-nilai, di mana kunci dan nilai keduanya bertipe String.

Mengakses melalui headersSend[0] berarti Anda ingin mengubah item pada kunci 0. Anda mengalami kesalahan kompilasi karena kunci kamus bukan tipe Int. Anda harus menggunakan kunci String sebagai gantinya.

Begitulah cara kami mengubah nilai pada kunci tertentu

dictionary[key] = newValue

Dalam kasus Anda itu akan menjadi

headersSend["changeMe"] = "Changed!"


Saya menyarankan Anda untuk membaca lebih lanjut tentang jenis koleksi di sini.

1
krlbsk 19 November 2020, 13:41