11

İsterseniz CoreData ile çalışabilen bir çerçeve oluşturuyorum. Çerçeve, CoreData'nın dışında da işlevselliğe sahiptir. CoreData çerçevesinin kullanılabilir olup olmadığını kontrol etmek için, tüm CoreData'ya özgü kodları IfDef'lere nasıl kaydedebilirim?Nesne-C Çerçevesinin Varlığını Denetleme

+0

Bu nedenle, kitaplığınızın CoreData'yı kullanmak için çalışma zamanı yerine derleme zamanında karar vermesini istiyorsunuz? Bu, bir kitaplık dosyasını dağıttığınız takdirde birden çok sürümünüz olacak ve kodu derlerseniz, Yapılandırma Ayarları'nda tanımları veya yapı işleminde yeterince erken ayarlamayı hatırlamanız gerektiği anlamına gelir. – Joe

+1

#ifdef _COREDATADEFINES_H' hakkında ne dersiniz? –

+0

Tam tersi gibi görünüyor - Çekirdek Verileri (kullanılabilirliği ve kullanıcı onayına bağlı olarak) kullanmak için çalışma zamanında karar vermek istiyor. – Perception

cevap

9

Yapmak istediğiniz, CoreData temeline bir weak link kullanmaktır. Bunu yaptıktan sonra, CoreData'nın kullanılabilir olduğundan emin olmak için runtime checks'u kullanabilirsiniz. Sabit değişkenler çalışma zamanında checked for existence olabilir. Önişlemci (#if#ifdef) kontrolleri kullanacak olsaydınız, her bir sürümle dağıtmak için iki ayrı çerçeve versiyonuna sahip olursunuz.