'int?' - Retrouvez les réponses et les commentaires concernant cette question" />
Nous mettons à niveau sur Swiftyjson Swift 3 avec Cocoapodes Config Nous obtenons cette erreur: p> /users/xxx/documents/ios/xxx/pods/swiftyjson/source/swiftyjson.swift:866:33:
Impossible de convertir l'expression de retour du type 'int32?' Pour retourner le type
'Int?' P>
blockQuote> erreur est sur l'instruction de retour dans SWIFTYJSON.SHIFT: P> POD 'SWIFTYJSON', '3.1.0' CODE>.
public var int: Int? {
get {
return self.number?.int32Value
}
set {
if let newValue = newValue {
self.object = NSNumber(value: newValue)
} else {
self.object = NSNull()
}
}
}
4 Réponses :
réalisa le Version prise en charge de SwiFtyjson est 3.0.0 et non 3.1.0. Utilisé 3.0.0 et le problème est parti. P>
POD 'SWIFTYJSON', '3.0.0' CODE> P>
Avez-vous exécuté la commande POD UPDATE et laissez-la terminer? Et faire un nettoyage complet et construit?
Je viens de remplacer une ligne de code avec le code ci-dessous. SIMPLE
public var int: Int? { get { return self.number?.intValue } set { if let newValue = newValue { self.object = NSNumber(value: newValue) } else { self.object = NSNull() } } }
Il est valide mais notre objectif n'est pas de modifier la source de la bibliothèque cliente.
Oui. je suis d'accord avec toi. Nous ne devrions pas la modifier. Mais si nous voulons que la solution temporelle élimine ERRO, nous pouvons utiliser le code ci-dessus. À l'avenir, nous le supprimerons définitivement.
Essayez simplement cela, p>
Mauvais: renvoyez Self.number? .Int32Value p>
Bien: retourne auto.number? .Intvalue p>
Raison: semble être plus générique dans la façon dont il peut retourner des entiers. P> blockQuote>
J'ai ajouté manuellement comme? Int code> Pour que cela fonctionne à nouveau:
public var int: Int? {
get {
return self.number?.int32Value as? Int
}
set {
if let newValue = newValue {
self.object = NSNumber(value: newValue)
} else {
self.object = NSNull()
}
}
}