wir haben json Daten, die in ein benutzerdefinierten Objekt gesetzt wird:kann keinen Wert vom Typ ‚[CustomObject]‘ mit einem Index vom Typ ‚String‘ SUBSCRIPT
"sentMoney": [
{
"amount": 3840.83,
"currency": "MXN",
"isMajor": false
},
{
"amount": 200,
"currency": "USD",
"isMajor": true
}
]
public final class SentMoney: NSCoding {
public var currency: String?
public var isMajor: Bool? = false
public var amount: Double?
}
das benutzerdefinierte Objekt dann Bezug genommen wird, in eine Variable:
public var sentMoney: [SentMoney]?
Nun, was wir versuchen zu tun, ist nur die erste Menge (3840.83).
ich es auf diese Weise versucht, zu tun, aber es gab Fehler:
let amountsOnlyArray = self.postTransferSuccess?.sentMoney.map({ $0["amount"] })//Error -Cannot subscript a value of type '[SentMoney]' with an index of type 'String'
let firstAmountOnly = self.postTransferSuccess?.sentMoney![0]["amount"]//Error -Type 'BSentMoney' has no subscript members
Gibt es eine bessere Art und Weise, dass die erste Menge zu bekommen?
Seltsam Ich erhalte eine Fehlermeldung „Wert des Typs‚[SentMoney]‘hat kein Mitglied‚Menge‘“ auf der ersten Zeile – SwiftyJD
das klingt wie Sie rufen '.amount' direkt auf dem Array, anstatt das erste Objekt zu erhalten. Vielleicht können Sie den Code teilen, den Sie verwenden, um Ihr Array von SentMoney-Objekten zu erstellen? – JoGoFo
Die zweite Konstante arbeitete direkt, keine Notwendigkeit für die erste Konstante! – SwiftyJD