2015-10-31 14 views
6

W mojej aplikacji użytkownik może wybrać wiele kontaktów w widoku kolekcji. kiedy wybierze właściwość "isSelected" ustawi się na true, a widok kolekcji odświeży wybraną komórkę. Tutaj mogę rozpoznać niewielkie opóźnienie między wyborem a podświetleniem komórki. Ale w następnym kroku tworzę grupę z wybranymi kontaktami i na koniec ustawiam właściwość "isSelected" na false. Zajmuje to nieakceptowalną ilość czasu dla 50 obiektów (5 sekund) i wymaga dostrojenia.Dziedzina wolno aktualizuje wiele obiektów

Oto mój kod, aby odznaczyć wszystkie wybrane kontakty:

for contact in self.selectedContacts { 
      try! self.realm.write{ 
       contact.isSelected = false; 
       self.realm.add(contact, update: true) 
      } 
     } 

to jest możliwe, aby przeprowadzić okresową aktualizację naraz?

Odpowiedz

15

Spróbuj oddanie dla pętli wewnątrz bloku zapisu:

try! self.realm.write { 
    for contact in self.selectedContacts { 
     contact.isSelected = false; 
     self.realm.add(contact, update: true) 
    } 
} 
+0

to wszystko, dzięki! A jak zaimplementować wybór, aby zmniejszyć opóźnienie podświetlania? – netshark1000

+0

Trudno powiedzieć, nie widząc rzeczywistego kodu. Może masz inne pytanie na ten temat (to i tak inny temat)? – joern

+0

Ok Zrobię to – netshark1000