2011-02-01 18 views
0

アドレス帳フレームワークを大いに活用するアプリケーションで作業する。アドレス帳のデータと対話する多くのView Controllerがあり、すべて正常に動作します。 1つを除いて、それは私を殺している。アドレス帳propertyID - 不明なタイプですか?

私は、次のような方法では、アドレス帳へのアクセスをラップするクラスを持っている:

- (NSDictionary*)labelsToValues:(ABPropertyID)propertyID { 
ABAddressBookRef addressBook = ABAddressBookCreate(); 
ABRecordRef aRecord = ABAddressBookGetPersonWithRecordID(addressBook, [self recordIdFromAddressBookId]); 

NSMutableDictionary *entries = [NSMutableDictionary dictionary];  

ABMultiValueRef multiValueProperty = ABRecordCopyValue(aRecord, propertyID); 
// do some other stuff 

そして私は、このような場所でそれを呼び出す:

- (NSDictionary*)emailProperties { 
return [self labelsToValues:kABPersonEmailProperty]; 
} 

そして、それは働きます!もちろん、私はAddress BookフレームワークのConstantという引数でメッセージを送信しています。だから、いつもうまくいくはずです!

しかし、そうではありません。この特定のemailProperties:メッセージは、私がいくつかの場所で呼び出しているメッセージです...時には動作しますが、ときどき動作しないことがあります。何かがうまくいかないときは、私はデバッガを介してそれを入れ、私はこのようなものを得る: enter image description here

どのように可能です!さらに、問題のView Controllerを「プライム」して、すべてが期待通りに動作する他のView Controllerを表示し、問題のView Controllerに戻ると、すべて正常に動作します。だから、私はこれが何らかのリンクエラーであると推測していますが、トラブルシューティングから始める方法もわかりません。

+0

[アドレス帳の定数がゼロと評価される]の重複が可能です(http://stackoverflow.com/questions/1235131/address-book-constants-evaluating-as-zero) – bpapa

答えて

関連する問題