Bir NSMutableArray içinde ABRecordRef kullanmaya çalışıyorum, ancak işe yaramıyor. ABRecord'un bir C sınıfı olduğunu biliyorum, ancak ABRecordRef'in NSObjects ile kullanmamı sağlayan Objective-C sınıfı etrafındaki çalışma olduğunu düşündüm. Bu işi yapmak için ne yapmam gerekiyor?Uyumsuz işaretçi türü: NSObject türetilmiş toplama nesneleri içindeki CFType türetilmiş nesneyi nasıl kullanabilirim?
cevap
"Çalışmıyor" ile ne demek istiyorsun? Gibi, derleme veya çalışma zamanı hataları alıyorsunuz?
Diğer postere verilen yanıtta belirttiğim gibi, iPhone'daki Objective-C API'sini kullanamazsınız (Ayrıca brdge için gerçek ABrecord sınıfı yoktur).
Genel olarak, ilgilendiğiniz öğeleri kopyalamak ve kopyalanan değerleri bir sözlük gibi kaydetmek için iPhone'daki adres defteri ile gerçekten iyi bir fikirdir. Tüm öğeleri kaydetmeniz gerekiyorsa, AddressBook.h başlık dosyasında tanımlandığı gibi her değeri okuyan bir kodunuz olmalı, kayıtları genel olarak yürütmek için bir API yolu yoktur.
Ayrıca, uygulamayı bıraktığında ve geri geldiğinde kullanıcı adres defterini değiştirebilir. Ayrıca, değerleri saklıyorsanız uygulamayı yeniden başlattıktan sonra nelerin değiştiğine dikkat edin!
Derleme uyarıları ve çalışma zamanı hataları alıyorum. Hangi sözlük? NSDictionary? – chaostheory
Evet, NSDictionary - kullandığım gibi bir şey "@ name" anahtarının altında bir addan tasarruf edebilirim. Telefon numaraları veya e-posta adresleri gibi şeyler için, bunları daha fazla sözlükten oluşan bir dizi olarak kaydederim, her bir değer "@email" ve "etiket" anahtarını tek tek değerleri tutmak için tutar. –
İpucu için teşekkürler, sınıf yok olsa bile, yapının köprülenebilir olduğunu düşündüm. Apple, Apple için aynı kodu Core Foundation'da olduğu gibi almıştı. –