2017-12-07 1 views
1

Unter ARC werden alle Objekte nicht initialisiert, wenn sie deklariert, aber nicht verwendet werden, dasselbe gilt jedoch nicht für Primitive. Ich möchte etwas Leistung für die Sicherheit tauschen und sicherstellen, dass sie immer initialisiert werden. Gibt es eine Flagge, die ich weitergeben kann, damit sie standardmäßig nicht initialisiert wird?Wie kann ich sicherstellen, dass alle Primitiven in meiner iOS App mindestens null initialisiert sind?

+0

von apple docs-: Wenn Ihr benutzerdefinierter Typ eine gespeicherte Eigenschaft hat, die logisch "keinen Wert" haben darf - vielleicht, weil ihr Wert während der Initialisierung nicht gesetzt werden kann oder weil sie "keinen Wert" haben darf Späterer Punkt - Deklarieren Sie die Eigenschaft mit einem optionalen Typ. Eigenschaften des optionalen Typs werden automatisch mit dem Wert nil initialisiert, was darauf hinweist, dass die Eigenschaft während der Initialisierung bewusst "noch kein Wert" haben soll. –

Antwort

1

Es gibt keine Flagge, die wir übergeben können, um dies zu tun. Die von Ihnen deklarierten Primitiven werden bei der Erstellung auf einen Wert initialisiert, Sie wissen einfach nicht, was dieser Wert sein soll. Sie können keine primitiven Typen auf null setzen.

Hier ist eine post, die Sie hilfreich finden können, um primitive und nicht besser zu verstehen.

-2

Sie sollten zu Swift wechseln, die sicherstellen, dass Sie alles zu etwas Sinnvoll initialisieren.

Verwandte Themen