2012-01-03 6 views
0

UITableView에 100 개의 이름 목록이 있고 10 개의 이름을 가진 badStudents가 NSArray입니다. 해당 이름이 포함 된 UITableViewCells에있는 특정 텍스트 라벨의 색상을 변경하는 좋은 방법은 무엇입니까?UITableView의 특정 값에 다른 색상 설정

-cellForRowAtIndexPath: 메서드에서 for 루프를 사용하여 해당 행의 텍스트를 badStudents의 각 값과 비교하는 것이 힘들 것으로 보였습니다. 더 좋은 방법이 있는지 나는 몰랐다.

+0

100 이름은 UITableView에서 사용되기 전에 어떻게 저장됩니까? 10 명의 나쁜 이름이 100 명의 이름과 함께 저장됩니까? – bbarnhart

답변

0

두 번째 배열에 학생의 상태가 좋지 않은지 포함되어 있습니다. 또는 학생 이름과 상태가 포함 된 NSDictionary 배열 하나를 가져야합니다. cellForRowAtIndexPath의 값을 확인하고 그에 따라 UILabel의 색을 설정하십시오.

0

'나쁜'속성을 가진 '학생'클래스가 있다면 그 값에 따라 색상을 설정할 수 있습니다. 그러나 이것은 이전에 속성을 설정해야합니다.

모든 것을 동적으로 유지하려는 경우 (예 : 중립 학생과 나쁜 학생이 항상 변경되기 때문에) 중첩 된 루프를 수행해야합니다. 선택의 나쁜 학생이 발견 된 후에 루프에 휴식을 추가하여 2의 요인으로이 루프를 향상시킬 수 있습니다. 이 의사 코드처럼 :

x 및 y에 대한 z를 { { 에서 (학생 == 나쁜) 경우 // 물건을 휴식을 할; } }