boolean değişkenler geniş bir dizi depolamak için en iyi yolu?

oy
4

Ben 60 * 4 boolean değerlerini depolamak için beni gerektiren bir kod üzerinde çalışıyorum, bu değerler için başlıklar bir plist depolanıyor. Ben zamanında boolean değerlerini düzenlemeye ihtiyaç ve Mantıksal değerleri depolamak için SQLite veritabanı kullanarak veri böyle büyük miktarda heyecanlı olur easily..also Plist dosyasını güncellemek için bir yol bulamadı ... herhangi basit bir yolu aracılığıyla var mı hangi depolayabilir ve zamanında ve uygulama başladıktan sonra hem kolayca bu değerleri alabilir?

Oluştur 26/02/2009 saat 14:14
kaynak kullanıcı
Diğer dillerde...                            


3 cevaplar

oy
7

Ben bir kâfir olmak istemem ama böyle durumlar için basit bir kural var: prematüre optimizasyon bütün kötülüklerin anasıdır.

60 * 4, sadece 240 Boolean olup. Bir şekilde kötü şekilde saklamak ve boolean başına 1k almaya yönetmek bile, o hala sadece 240k var. Sürece bu depolama yerine RAM yöntem olduğu kimin umurunda? Neden olabildiğince basit biçimde başlayıp şey Seninle sonra geldiğinde bunu düzeltmek değil? SQLite bunun için mükemmel iyi olurdu.

Eğer nakliye yaklaştığınız halde bir sorun olarak bu tespit varsa, elbette bu cevabı görmezden. :)

Cevap 26/02/2009 saat 20:06
kaynak kullanıcı

oy
2

onun NSArray veya NSMutableArray kullanmak çok daha kolay olacak iken, yukarıda belirtildiği gibi, standart C ++ vektör sınıfını kullanarak bakmak olabilir. AFAIK bu çok alanı daha verimli wrt olduğunu. belleğin ayrılması.

Cevap 05/11/2010 saat 15:47
kaynak kullanıcı

oy
1

Sen boolean dizi depolama NSData yöntemi kullanabilirsiniz, ama aynı zamanda sadece kakao doğal yapalım olabilir:

NSArray* arrayOfBools; // array of 240 NSNumbers, each made with [NSNumber numberWithBool:NO];

sonra

[[NSUserDefaults standardUserDefaults] setObject:arrayOfBools forKey:@"MyNameForThe240"];

Onları Al:

NSArray* savedBools = [[[NSUserDefaults standardUserDefaults] objectForKey:"MyNameForThe240"];

Bir değişken dizide onları istiyorum olasılıkla:

NSMutableArray* the240ThatCanBeEdited = [NSMutableArray arrayWithArray:savedBools];

Sonra çıkın üzerinde, onları dışarı kaydetmek

[[NSUserDefaults standardUserDefaults] setObject:the240ThatCanBeEdited forKey:@"MyNameForThe240"];
Cevap 26/02/2009 saat 22:36
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more