Arbeiten mit NSNumber- und Integer-Werten in Swift 3

Ich versuche, mein Projekt auf Swift 3.0 zu konvertieren, es werden jedoch zwei Fehlermeldungen angezeigt, wenn ich mit @ arbeitNSNumber undIntegers.

Kann nicht den Typ int dem Typ NSNumber zuweisen

zu

//item is a NSManaged object with a property called index of type NSNumber 

var currentIndex = 0
 for item in self.selectedObject.arrayOfItems {
   item.index = currentIndex
   currentIndex += 1
 }

nd auch wenn ich mich ändecurrentIndex zu einem TypNSNumber dann bekomme ich den fehler

Binäroperator '+ =' kann nicht auf die Typen 'NSNumber' und 'Int' angewendet werden

so dann erstelle ich eine Eigenschaft namensone vom TypNSNumber hinzufügen zucurrentIndex aber dann wird der folgende Fehler angezeigt:

Binäroperator '+ =' kann nicht auf zwei NSNumber-Operanden angewendet werden

&& Der zweite Fehler, den ich bekomme, ist

No '+' Kandidaten erzeugen den erwarteten kontextuellen Ergebnistyp NSNumber

 let num: Int = 210
 let num2: Int = item.points.intValue
 item.points = num + num2

Hier versuche ich nur, 210 zu dem Punkteigenschaftswert hinzuzufügen,item ist einNSManagedObject.

So habe ich im Grunde Probleme, mich mit dem Hinzufügen von Zahlen zu Eigenschaften des Typs @ zu beschäftigeNSNumber. Ich arbeite mitNSNumber weil sie Eigenschaften von @ siNSManagedObject 's.

Kann mir jemand helfen? Ich habe über 80 Fehler, bei denen es sich um einen der oben genannten Fehler handelt.

Vielen Dan

Antworten auf die Frage(8)

Ihre Antwort auf die Frage