2014-05-11 2 views
0

음, 얘들 아.하나의 NSArray의 다른 인덱스에있는 객체를 삭제하려면 어떻게합니까? IOS

NSMutableArray의 서로 다른 인덱스에서 개체를 삭제하려고하면 여기에 문제가 있습니다. 나는 초기화 방법 NSArray이 인 방법을 사용하여 [_tableFavoritos indexPathsForSelectedRows]이라는 방법을 알고 있지만, 어떻게 NSIndexSetNSArray에서 만드는지 알지 못합니다.

나는이 문제를 해결하려면 방법

[arrayFavoritos removeObjectsAtIndexes : (here my NSIndexSet) ]; 

를 사용하고 싶습니다.

누군가 다른 방법을 알고 있으면 환영합니다. 이 당신을 위해 작동합니다

NSArray *indexesArray = [[NSArray alloc]initWithArray:[_tableFavoritos indexPathsForSelectedRows]]; 

[arrayFavoritos removeObjectsAtIndexes:]; 

[_tableFavoritos deleteRowsAtIndexPaths:[_tableFavoritos indexPathsForSelectedRows] withRowAnimation:UITableViewRowAnimationFade]; 

[_tableFavoritos reloadData]; 

답변

0

감사합니다 ... :

NSArray *indexesArray = [[NSArray alloc]initWithArray:[_tableFavoritos indexPathsForSelectedRows]]; 

NSMutableIndexSet *indexSet = [NSMutableIndexSet new]; 
[indexesArray enumerateObjectsUsingBlock:^(NSIndexPath *indexPath, NSUInteger idx, BOOL *stop) { 
    [indexSet addIndex:indexPath.row]; 
}]; 

[arrayFavoritos removeObjectsAtIndexes:indexSet]; 

[_tableFavoritos deleteRowsAtIndexPaths:[_tableFavoritos indexPathsForSelectedRows] withRowAnimation:UITableViewRowAnimationFade]; 

[_tableFavoritos reloadData]; 
관련 문제