In Cocoa do you prefer NSInteger or just regular int, and why? adresinde, NSDouble
ve NSFloat
'dan bahsedilmiştir, ancak herhangi bir belgede olanlar için bir başvuru göremiyorum. NSInteger
'un amacı, mimari güvenlik içinse, double
veya float
gibi diğer türlere ne dersiniz? türünün 32 bit ve 64 bit sistemler arasında boyutta olması nedeniyleNSDouble, NSFloat veya NSInteger dışındaki başka türler var mı?
cevap
NSInteger
bulunmaktadır. float
ve double
aynı boyutta değildir, bu nedenle bunlar için sarmalayıcı türlerine gerek yoktur.
NSArray'a iki kat eklemek istersek ne yapmalıyım? Sadece nesneleri kabul eder. –
Bir NSNumber nesnesine (daha genel NSValue'nin bir alt sınıfı olan) sarın. – duskwuff
Eh, 32bit 'float' için' typedef' ve 64bit'de 'double' için' 'CGFloat'' vardır. “NS (U) Integer” ile yapılanlara oldukça eşit olanı söyleyebilirim. – Regexident
hiçbir NSFloat
yoktur ama bazı mimari için double
kullanabilir böylece sonunda CGFloat
için float
değiştirildi Çekirdek Grafik API biliyorum.
Bu, API başlıklarının bildirdiği kesin türleri kullanmak en iyisidir. Bu, kodunuzu farklı bir hedef için yeniden derlerseniz otomatik olarak değişir.
Ayrıca konvansiyonlarla ilgilidir.
Bir int için bir yazım denetimi int int kendisiyle uyumlu değil.
Örnek: pid_t, int türünde bir int geçirir, ancak bir int geçirerek uyarı oluşturur.
Neden? Çünkü API sınırlarını aşarsanız herkesin kodun ne beklediğini bildiğinden emin olmalısınız.
Kayan nokta ve çift türleri vardır, yani NSTimeInterval. Temelde yatan tiple ilgili değil, ama uyulması gereken konvansiyon.
Yerel bir int döngü sayacı olarak bildirirseniz ve bunu iyi tanımlanmış bir API'ye aktarmayı planlamıyorsanız, bir int int çağrısında bulunmak iyidir.
- 1. Neden bir NSInteger var?
- 2. "A" veya "Ait" ilişki veya başka bir şey var mı?
- 3. WebRTC veya WebSocket veya başka bir şey var mı?
- 4. OData sorguları ve ASP.NET Web API'sinde IQueryable dışındaki türler
- 5. NSInteger ile NSInteger arasındaki bağlantıyı tamamlayın
- 6. Meteor ile Mongo'dan başka veri kaynakları var mı?
- 7. Powershell'de özel türler oluşturmanın basit bir yolu var mı?
- 8. İlkel türler için özelliklerin kullanımı
- 9. Bir NSInteger veya NSUInteger nesnesinin bayt sırasını nasıl tersine çevirebilirim?
- 10. DotNet'te (veya C#) nedehassıkaması var mı?
- 11. İki NSInteger nasıl karşılaştırılır?
- 12. NSInteger öğesinin NSMutableData'ya ekle
- 13. Firefox'ta XDomainRequest eşdeğeri var mı?
- 14. Kenar çubuğunun dışındaki widget'ları mı kullanıyorsunuz?
- 15. Neden bir anahtar deyiminde bir NSInteger kullanamıyorum?
- 16. CPU veya RAM'de yığın var mı?
- 17. php'nin bir işlevi veya ifadesi var mı?
- 18. boost :: program_options hatası veya özelliği var mı?
- 19. Statik veya dinamik destek kitaplığım var mı?
- 20. XPath seçicilerde bir "veya" var mı?
- 21. iPhone Uygulamasında NSInteger özelliği atama
- 22. Json.NET İlkel Türler - Double
- 23. Anonim türler oluşturma!
- 24. Nasıl NSinteger için String dönüştürmek
- 25. NSInteger hatasının örtük çevrimi hatası
- 26. Büyük sayılar için Türler
- 27. .irbrc'nin Scala sürümü veya REPL kullanımı için bazı varsayılan kitaplıkları tanımlamanın başka bir yolu var mı?
- 28. Bir ASP.NET Core uygulamasını NuGet veya başka bir şekilde kullanmanın bir yolu var mı?
- 29. Bizarre GameKit davranışı. Bunu gören başka biri var mı?
- 30. HTML/Javascript sayfalarında formların dışındaki/olmayan giriş alanlarını kullanmanın herhangi bir tehlikesi var mı?
OP'nin ne hakkında konuştuğundan emin değilim. Bunlar mevcut değil. – BoltClock
Çift ve şamandıralı mimari kasa mı? Ben çifte kullanabilirim, ama int geldiğinde NSInteger'i kullanmak zorundayım, aynen böyle mi? – sarunw
Sanırım * NSFloat *, * NSDouble * var. Ancak, CGFloat'ın var olduğunu biliyorum (Sorunun bağlamı dışında.) – EmptyStack