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

  • DJAndrewRyan

    DJAndrewRyan

    22 Ocak 2007
  • Kai Moosmann

    Kai Moosmann

    5 Temmuz 2006
  • Mismag822 - The Card Trick Teacher

    Mismag822 -

    18 EKİM 2008