SORU
14 Aralık 2010, Salı


NSİnteger vs int kullanma zamanı

Ne zaman iOS için geliştirme NSInteger vs int kullanarak olmalıdır? Apple örnek kod, bir işlev için bağımsız değişken olarak bir değer gönderme veya bir işlev bir değer döndürme NSInteger (NSUInteger) kullanın görüyorum.

- (NSInteger)someFunc;...
- (void)someFuncWithInt:(NSInteger)value;...

Ama bir işlev içinde sadece int bir değeri izlemek için kullanıyorlar

for (int i; i < something; i  )
...

int something;
something  = somethingElseThatsAnInt;
...

NSInteger 64-bit veya 32-bit ya da ortamda bir tamsayı başvuru neden int kullanmak? için güvenli bir yol olduğunu okudum (söylendi)

CEVAP
14 Aralık 2010, Salı


Genellikle kullanmak NSInteger bilemezsin ne tür bir işlemci mimarisi kodunuzu çalıştırmak olabilir, bu yüzden olabilir nedense istediğim en büyük Olası int tipi, 32 bit sistemler sadece bir int iken, bir 64-bit sistem long.

Özellikle onları gerekli olmadıkça*/long *16 yerine NSInteger kullanarak alırdım.

18*/NSUInteger typedef***dinamik bu tür bir s olarak tanımlanır, ve bu gibi tanımlanır:

#if __LP64__ || TARGET_OS_EMBEDDED || TARGET_OS_IPHONE || TARGET_OS_WIN32 || NS_BUILD_32_LIKE_64
typedef long NSInteger;
typedef unsigned long NSUInteger;
#else
typedef int NSInteger;
typedef unsigned int NSUInteger;
#endif

Doğru biçim belirteci ile ilgili bu tür her biri için kullanın, String Programming Guide's section on Platform Dependencies görmelisiniz

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • jat4011

    jat4011

    16 EKİM 2010
  • MrOctopi

    MrOctopi

    6 Aralık 2010
  • natescamp

    natescamp

    30 NİSAN 2009