2009-08-05 5 views
4

Ich habe ein Programm, in dem für bestimmte Codepfade die Adressbuchkonstanten (wie kABPersonEmailProperty, kABPersonAddressProperty) ihren normalen Wert ungleich Null auswerten. Wenn ich jedoch einem anderen Codepfad folge, werden alle diese Konstanten zu Null ausgewertet.Adressbuchkonstanten, die als 0 bewerten

Darüber hinaus, sobald ich den "erfolgreichen" Code-Pfad folgen, wenn ich den problematischen Code-Pfad es funktioniert.

Ist das eine Art Kompilierungsverknüpfungsproblem?

Ich könnte auch irgendwo eine Variable überfreigeben.

Antwort

5

Okay, Rätsel gelöst. Zu Apples Verdienst ist das Verhalten dokumentiert.

Siehe link text

„Besondere Hinweise: Der Wert dieser Konstanten ist nicht definiert, bis eine der folgenden Aktionen aufgerufen wurde. ABAddressBookCreate, ABPersonCreate, ABGroupCreate“

+3

Sicher, es ist dokumentiert. Aber ich denke immer noch, dass es einen Sprachvertrag verletzt, weil diese Variablen als const deklariert sind. – user102008

+0

Ich kann den Text auf dieser Seite nicht mehr finden. Das Problem besteht jedoch weiterhin. – Andreas