Objective C hangi null ? NSNull / NULL / Nil / nil

Objective C ‘de, 4 tip null kullanımı görebilirsiniz; compiler açısından bakmak gerekirse;

NULL aslında “0” olan C diline ait header; “stddef.h” içinde tanımlanmış bir macrodur.

#define NULL ((void *)0)

Genel olarak ObjC ile uğraşan developerler NULL değeri için nil kullanır, dilin conventionlarından gelen bu durum, aslında nil veya Nil ‘in “NSObjCRuntime.h” headerı içerisinde şöyle tanımlanmasından kaynaklanır;

#define nil NULL
#define Nil NULL

Nil özelde convention gereği null class ‘ları temsil için kullanılır.

NULL ‘un değeri 0 olduğuna göre compiler açısından bir objeyi “no value” ile karşılaştırma yapmak için aşağıda yazdığım tüm satır birbirine eşittir ve aynı kodu generate ederler.

NULL, nil, Nil, 0, false, NO

Yani;

if ( NullObject == false ) {
     // Bu blok çalıştırılacaktır.
}

false yerine üst satırda yer alan herhangi bir NULL değerini koyabilirsiniz.

NSNull ise singleton dizaynında bir objective-c class’ıdır ve nsobject base class’ından türemiştir, herhangi bir durumda elimizdeki array’e veya dictionary’e value olarak null koymak istersek;

[NSNull null]  eklememiz yeterlidir.

[myMutableArray addObject:nil]; // Run time exception

[myMutableArray addObject:[NSNull null]]; // Perfectly valid
Bu kategoride: iPhone Uygulama Geliştirme | 1 Comment

iPhone – Path uygulamasındaki gibi menüler

iPhone ‘da Path uygulaması / sosyal ağı , bence ve diğer bir çok uygulama geliştiriciye göre arayüz kullanımında harika işler çıkardı. Gördüğüm en++ kullanışlı iPhone uygulaması desem az bile kalır herhalde :)

Bu harika arayüzün en güzel kısmı ise menüleri; github üzerinde bir grup developer open source olarak projelerini açmışlar.

Proje sayfasına gitmek için tıklayınız.

Demosu da şu şekilde:

Bu kategoride: iPhone Uygulama Geliştirme | Yorum bırakın ?!

Marmara Forum AVM iPhone uygulaması: Hediye AVI bölümü

Merhaba,

Marmara Forum için iPhone uygulaması geliştirmiştik, şahsen çalışırken de çok zevk aldığım bir projeydi, 2.1 sürümü itibari ile - software as a service anlaşma yapmanın şirketlere getirdiği yarar ortaya çıkıyorhediye avı bölümü istediler. iTunes’da biraz önce update’e onay gelince bende bunun hakkında bir yazmak istedim.

Bölüm, kısaca AVM içerisinde konumlanmış çeşitli Kare Kod larını ipuçları yardımı ile bulacak müşteriye hediye vermeyi amaçlıyor.

Nasıl yaptık ?

Devamını okumak için tıklayınız. »

Bu kategoride: iPhone Uygulama Geliştirme | 4 Yorum