Core Data, NSNumber, Integer 32 Integer 64

In Core Data, ich habe viele Attribute deklariert als Integer 64, und dann Zugriff über NSNumber-Eigenschaften (dies ist die Standardeinstellung).

Ist es egal, wenn ich es speichern und Zugriff auf diese Werte durch:

NSNumber *mySetValue = [NSNumber numberWithInt:someIntValue];
[myObject setMyNumberProperty:mySetValue];

int myRetrievedValue = [myObject.myNumberProperty intValue];

oder durch

NSNumber *mySetValue = [NSNumber numberWithInteger:someIntegerValue];
[myObject setMyNumberProperty:mySetValue];

NSInteger myRetrievedValue = [myObject.myNumberProperty integerValue];

?

Gibt es zwei Falle, für die ich gerne die Antwort wissen: 1) wenn der Wert, der benötigt wird für Berechnungen verwendet wird (es hält eine Menge oder einen Wert, der umgewandelt werden Währung) und 2), wenn der Wert ist nur eine Art, die im Grunde nur verglichen werden, gegen sich selbst und nicht für irgendwelche Berechnungen. Ist es in Ordnung, zu verwenden numberWithInt und intValue in einem Fall und nicht die anderen, beiden Fällen, oder muss numberWithInteger und integerValue verwendet werden, in beiden Fällen?

Außerdem spielt es eine Rolle, wenn ich vorher gespeichert alle Werte als [NSNumber numberWithInt:] - kann ich einfach die Weise ändern, die ich speichern/abrufen " den Wert jetzt, oder muss ich die Konsistenz so nicht zu schaffen ein problem mit den aktuellen user-Daten?

Ich bin besonders interessiert in dieser Arbeit sowohl in einer 32-bit-und 64-bit-iOS-app.

Auch - macht es einen Unterschied, um Ihre Antwort, wenn die Core-Daten-Wert ist Integer 32 Integer 16 Integer-64, etc?

InformationsquelleAutor SAHM | 2013-11-04
Schreibe einen Kommentar