Android - IOS Programlama
İos Swift Tableview Reloaddata Sonrasi Datanın Gözükmemesi
İos Swift Tableview Reloaddata Sonrasi Datanın Gözükmemesi
-
Merhaba,
Birbirinden türeyen bi kategori sistemi yapmaya çalışıyorum. İlk açılış aşağıda ki gibi."Kategori" yerine bastıktan sonra başka bir sayfaya gidip "Taşıtlar" ı seçiyorum. Buraya kadar herşey güzel =>
Taşıtların orda ki "Seçiniz..." yazan yerin üstüne basıp "Satılık Araba" seçiyorum. Bu seçim sonrası reloadData yapıyorum ve başta ki "Kategori" nedense kayboluyor.
Aynı şekilde gelen menüden "Marka" bölümüne seçtikten sonra gelen datayı eklediğimde "Marka" da kaybolup bu hali alıyor =>
Normalde olması gereken budur. Fakat ilki dışında her seçim sonrası dataların bir bölümü kayboluyor. Data var ama göstermiyor. Bu neden kaynaklanabilir?
-
getcell diye tableview in bir metodu var, bu metodu override etmişsindir muhtelemen ve hücre sayısı kadar getcell metodu çalışacaktır.
bu metoda bilgileri muhtemelen bir liste aracılığı ile aktarıyorsun, o kısma break point koyarak listendeki değerleri kontrol et. Bence liste yerine bir dictionary kullan (key:isim-string, value:bool)ve seçili olanın value sunu true yap.
getcell ile true yapılmış değer varsa o dictionary de o gösterilsin.
Diğer bir yol da, eğer bu tablodakiler 6 tane değişken ile sınırlıysa her seçim yapıldığında bunları bir dizide tut. böylece getcell metodu çağrıldığında indexine göre dizideki o seçili deri hücrene yazdırırsın.
-
hocam o methodu bulamadım.aynı şekilde scroll ile çok oynayınca da o hale geliyor.
override olmuş olmasına karşı her seçim sonrası array ı sıfırlayıp reloaddata yaptım. sonuç değişmiyor.
-
ben swift kullanmıyorum hocam objective C ve xamarin.ios kullandım onlarda bu şekilde, swiftde de benzerdir, baktım şimdi de ismi func tableView diye geçiyor.
işte burda indexPath.row kısmını kullandığın dizi/liste neyse onun içeriğini temizletmeyeceksin. dediğim dictionary mantığını buraya uygularsan bulabilirsin.
scrool da da oraya girmesinin sebebi bellekten tasarruf etmektir, çünkü atıyorum 10 tane öğe göründü, sen scrolling yaptın, bu sefer ilk 3 tanesi gözükmeyecek onun yerine 10 dan sonraki 3 tanesi gözükecek, haliyle getcell metodu tekrar çağrılıyor ve burada kullanılan reuseIdentifier o yüzden kullanılıyor.
ayrıca arrayi sıfırlamayacaksın hocam :) dictironary dediğim şeyi iyi anlamaya çalış, böylece seçili olanı hatırlayıp onu yazdırabilirsin.
-
uitableviewcell leri baştan oluşturup array içerisinde tutuyordum. "cellForRowIndexPath" içerisinde oluşturunca çözüldü.
desteğin için teşekkürler hocam.
attackatak tarafından 02/May/15 02:35 tarihinde düzenlenmiştir