Einstellen von Eigenschaftswerten, die nicht kleben / viewDidload werden werden, werden in Xcode 4.3 mehrfach aufgerufen

StackOverflow https://stackoverflow.com/questions/9353831

Frage

Das ist also komisch.

Ich habe eine Eigenschaft:

@property (weak, nonatomic) Something *something; // .h
@synthesize something=_something                  // .m

Aus irgendeinem Grund ist das Einstellen dieser Eigenschaft nicht zuständig _something einstellen.

Ich habe sogar einen Setter geschrieben:

- (void)setSomething:(Something *)something {
    _something = something;
}

Das bestanden something ist eine gültige Instanz des Objekts. Nach dem Durchtreten der Linie jedoch _something = something, _something ist nil und something ist immer noch ein gültiges Objekt.

Das macht mich verrückt, weil für mich alles richtig aussieht. Ich habe tausendmal das gleiche geschrieben. Das einzige, was neu ist, ist, dass dies in Xcode 4.3 ist.

Jede Hilfe wäre geschätzt. Vielen Dank!

ETA: Vielleicht ist das ein Hinweis? ViewDidload wird in Stapeln von 4 als Vollhackload von Male bezeichnet. Ich verwende Storyboards, sodass die Ansicht automatisch ordnungsgemäß eingestellt wird. Vielleicht wird der View -Controller nicht ordnungsgemäß geladen oder initialisiert oder so? Ich habe das Klassenset und alles sieht so aus, als ob es funktionieren sollte, aber es ist nicht so.

War es hilfreich?

Lösung

Ok, ich habe es herausgefunden. Ich bin mir nicht sicher, woher diese Methode stammt, aber dies war im Code von tonViewControler:

- (void)loadView {
    // If you create your views manually, you MUST override this method and use it to create your views.
    // If you use Interface Builder to create your views, then you must NOT override this method.
}

Da ich Storyboards verwende, verursachte das Vorhandensein dieser Methode alle möglichen Probleme. Es ist mir ziemlich peinlich, weil ich es wahrscheinlich kopiert und von irgendwohin geklebt habe, ohne darüber nachzudenken.

Wie auch immer, ich hoffe das hilft jemandem. Es hat nur den größten Teil meines Tages getötet.

Andere Tipps

Vielleicht wird das, was Sie dieser Eigenschaft zuweisen, von irgendwo anders hingewiesen. Nach der Zuordnung ist der einzige Zeiger auf dieses Objekt Ihre Eigenschaft und es ist es Woche Das Objekt wird also aus dem Haufen geworfen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top