2014-09-05 2 views
0

사용자가 TableView에 일부 항목을 추가 할 수있는 프로젝트가 있습니다. 이있는 TableView에 대한 나의 데이터 소스는이 개 특성 * nameOfItem을있는 NSString과의 NSNumber * numberOfItem와 개체입니다. 그것은 "someString"@ 문자열 포함되어있는 경우 내있는 NSMutableArray를 확인할 수있는 가능성이 재산 nameOfItem과 같은 경우 예 변화 numberOfItem 한 것보다?NSMutableArray에서 개체를 검색하고 해당 개체의 값을 변경하십시오.

UPDATE :

내가 (...에 ...)에 함께 할 것을 시도하지만 난 내있는 NSMutableArray에서 하나의 개체 만이있을 때 그냥 작동합니다. 내가 더 많은 개체가 있다면 거기는 이전에 + + 하나의 새로운 객체 및 변경 값보다 만들기 :

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ 
NSString*nameToCheck = [NSString stringWithFormat:@"%@", [self.ivc.objects objectAtIndex:indexPath.row]]; 
for (Items *itemNamed in self.ivc.shoppingList.items) { 
    if ([itemNamed.nameOfItem isEqualToString:nameToCheck]) { 
     [itemNamed setNumberOfItem:[NSNumber numberWithInt:[itemNamed.numberOfItem integerValue]+1.0]]; 
} else { 
       Items *item = [Items new]; 
       [item setNameOfItem:name]; 
       [item setNumberOfItem:@(1)]; 
       [self.ivc.shoppingList.items insertObject:item atIndex:0]; 
} 

내가 만들려면 :

여기 enter image description here

내가 뭘하려합니다 몇 가지 코드 새로운 목록은 해당 목록에 아직없는 경우에만 표시됩니다. 도움을 주시면 감사하겠습니다.

+0

이 코드로 얻을 수있는 결과는 무엇입니까? – rdelmar

+0

@rdelmar, 그 shoppingList.items에 하나의 객체 만있는 경우 numberOfItem 값을 변경합니다. ++ – Mayo323

+0

shoppingList의 구조는 무엇입니까? 그것은 귀하의 게시물에서 분명하지 않습니다, 왜 self.ivc.shoppingList.items, self.ivc.shoppingList 반대로 iterating 있습니다. – rdelmar

답변

1

이 같은 것을 알지 못하지만 name 속성을 키로 사용하여 NSArray 대신 NSDictionary를 사용할 수 있습니다. 그리고 그렇게하고 싶지 않다면, 배열을 정렬하고 원소를 검색 할 수 있습니다.

+0

@lulian Popescu, 죄송합니다. item 객체의 속성 nameOfItem으로 저장된 문자열을 검색하고 싶지 않습니다. :) – Mayo323

+0

코드에 약간의 버그가 있음을 알았습니다. (잘못하면 죄송합니다). 이름이 같은지 확인하면 itemNamed.nameOfItem을 이름으로 확인하고 있습니다. 여기에 nameToCheck이 있어야합니다. –

+0

@lulian Popescu, 네, 그건 내 잘못이었습니다. 이미 NSDictionary에 대해 – Mayo323

관련 문제