Objective-C’de integer MutableArray’i oluşturmak
Bir iki haftadır QuickDialog kütüphanesi ile bir proje geliştirmeye çalışıyorum. Dökümantasyonu malesef çok açıklayıcı olmadığı için işin acemisi olarak biraz zorlanıyorum.
QuickDialog’da “çoktan seçmeli” bir liste oluşturmak ve bir tuşa dokunulduğunda bu listedeki tüm elemanların seçili olmasını sağlamaya çalışıyordum. QRadioSection adındaki bu yapı selectedIndexes isimli bir NSMutableArray içerisinde seçili öğelerin indislerini tutuyor. Tüm elemanları seçili hale getirmek için bu MutableArray’a tüm indisleri yazmalı ve tabloyu reload fonksiyonu ile yenilemeliyiz.
Buraya kadarını anladım fakat ne yaptımsa selectedIndexes’a tüm indisleri yerleştiremedim. Mesela şu yolu denedim;
QRadioSection *liste=[[self.root sections] objectAtIndex:0];
NSMutableArray *arr=[[NSMutableArray alloc] initWithObject:0,1,2,3,nil];
[liste setSelectedIndexes:arr];
Bu şekilde yazınca hata vermiyordu ama listede manuel olarak seçtiğim elemanlar varsa onlar bile bu dizi ile işlem yapınca kayboluyordu. Sonradan bu dizinin elemanlarını ve listenin selectedIndexes’ini tekrar logladım ve gördüm ki bu şekilde numerik verilerle diziyi dolduramıyormuşum. Şurada gördüğüm çözüme göre doldurunca sorun ortadan kalktı:
QRadioSection *liste=[[self.root sections] objectAtIndex:0];
NSMutableArray * = [NSMutableArray array];
for (NSInteger i = 0; i < [[liste elements] count]; i++)
[arr addObject:[NSNumber numberWithInteger:i]];
[liste setSelectedIndexes:arr];
Lazım olursa diye yazalım; eğer NSArray’i integer verilerle doldurmak istiyorsak şu şekilde yazmalıyız;
NSInteger myIntegers[40];
for (NSInteger i = 0; i < 40; i++)
myIntegers[i] = i;