Jaki jest najbardziej efektywny pod względem pamięci sposób przechodzenia przez obiekt NSMutableArray obiektów niestandardowych? Potrzebuję sprawdzić wartość w każdym obiekcie w tablicy i zwrócić liczbę tego typu obiektów w tablicy.Pętla przez NSMutableArray obiektów niestandardowych w najbardziej efektywny sposób pamięci
Odpowiedz
for (WhateverYourClassNameIs *whateverNameYouWant in yourArrayName) {
[whateverNameYouWant performSelector];
more code here;
}
To się nazywa szybkie wyliczenie i była to nowa funkcja w Objective C 2.0, który jest dostępny na iPhone.
I pewnie po prostu użyć predykatu, co byłoby coś takiego:
NSArray * filtered = [myArray filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"aProperty = %@", @"someValue"]];
NSLog(@"number of items where aProperty = someValue: %d", [filtered count]);
Edit: Ten kod jest funkcjonalnie równoważne:
NSMutableArray * filtered = [NSMutableArray array];
for (MyCustomObject * object in myArray) {
if ([[object aProperty] isEqual:@"someValue"]) {
[filtered addObject:object];
}
}
Chcesz trochę wyjaśnić ten fragment kodu? Jestem początkującym użytkownikiem iPhone'a i nowicjuszem z Obj-C. Twój kod wygląda na mały i niesamowity, ale nienawidzę używać rzeczy, których nie rozumiem. –
odczytać Dokumenty dla 'filteredArrayUsingPredicate' oraz' NSPredicate predicateWithFormat' – mga
@Plus - edytowana odpowiedź –
- 1. Najbardziej efektywny sposób monitorowania kolejki
- 2. Najbardziej efektywny sposób analizy Xml
- 3. Najbardziej efektywny sposób wektorów podzbiorczych
- 4. Najbardziej efektywny sposób odczytu pliku
- 5. Najbardziej efektywny sposób na wykonanie wyszukiwania fonetycznego
- 6. Najbardziej efektywny sposób na przechodzenie przez macierz Eigen
- 7. Najszybszy i najbardziej efektywny sposób tworzenia XML
- 8. Najbardziej efektywny sposób tworzenia indeksu w Postgresie
- 9. najbardziej efektywny sposób do wysyłania obrazów w całej przetwarza
- 10. Najbardziej efektywny sposób wykonania 22 różnych kompilacji
- 11. Najbardziej efektywny sposób na indeksowanie zwróconej tablicy?
- 12. Najbardziej efektywny sposób analizowania tego języka skryptowego
- 13. Najbardziej efektywny sposób na zgrupowanie boxplot matlab
- 14. Najbardziej efektywny sposób konwersji BCD na binarny
- 15. dostać obiektów w NSMutableArray
- 16. Pętla JavaScript przez tablicę obiektów?
- 17. Czy Drools to najbardziej efektywny sposób mapowania reguł biznesowych/logiki?
- 18. Python dodawanie spacji między znakami w łańcuchu. Najbardziej efektywny sposób
- 19. Najbardziej efektywny sposób tworzenia drzewa z listy sąsiedztwa
- 20. Najbardziej efektywny sposób przesyłania strumieniowego na liście kontraktów Futures
- 21. Python - "xorowanie każdego bajtu w" bajtach "w najbardziej efektywny sposób
- 22. Najbardziej efektywny pod względem pamięci sposób odczytywania fragmentów w buforze w Pythonie
- 23. Zapętlenie przez NSMutableArray w Swift
- 24. Najbardziej efektywny sposób narysować kilka linii 3d w Matlab
- 25. Najbardziej efektywny sposób na powtórzenie wektora w Matlab
- 26. Najbardziej efektywny sposób wyszukiwania plików dla wzorów bajtów w Elixir
- 27. MySQL - ostatni dzień w kwartale (najbardziej efektywny sposób)
- 28. Wszystkie prawidłowe kombinacje punktów, w najbardziej efektywny sposób (prędkość)
- 29. Najbardziej efektywny sposób obliczania całek/pochodnych wprowadzonych funkcji w Javie?
- 30. Najbardziej efektywny sposób odczytywania dużych plików w kawałkach
Jest to lepszy sposób zarządzania pamięcią do robić rzeczy, ale podoba mi się post Dave'a DeLonga o Predykatach. –