2011-02-16 6 views
0

NSArray의 모든 NSString 멤버에 대해 stringByDeletingPathExtension을 실행하려고합니다. Objective-C에서 어떻게하면됩니까?배열의 "stringByDeletingPathExtension"에 해당합니다.

+0

당신이 "equellent"무엇을 의미합니까 ... 당신의 newArray를 사용할 수 있습니까? – Eimantas

+0

NSArray의 각 멤버에서이 메서드를 실행 하시겠습니까? 귀하의 질문을 명확히하십시오. – Moszi

+0

@Moszi 나중에 다음 내 대답을 참조하십시오 – Sowmya

답변

2

NSArray *myArray = ... ;

[myArray makeObjectsPerformSelector:@selector(stringByDeletingPathExtension)]; 

편집 : @Wevah는 의견에 지적 stringByDeletingPathExtension는 문자열을 반환하는 대신 호출되는 객체를 수정하기 때문에,이 솔루션은, 문제가 해결되지 않습니다.

NSMutableArray *newArray = [[[NSMutableArray alloc] initWithArray:myArray] autorelease]; 
for(int i = 0; i < [newArray count]; i++) { 
    NSString* oneItem = [newArray objectAtIndex:i]; 
    [newArray replaceObjectAtIndex:i withObject:[oneItem stringByDeletingPathExtension]]; 
} 

다음

+0

고맙습니다 stringByDeletingPathExtension' 새로운 (오토 릴리즈) 문자열을 반환'이후 정말하지만 유용한 아무것도 수행하지 않을 것 – Sowmya

+0

... – Wevah

+0

을있는 NSString * fullpath에 = [[moszi NSBundle mainBundle] pathForResource : [destfileName stringByDeletingPathExtension] ofType : @ "xml"]; 이게 NSArray를 위해 어떻게 할 수 있니? 구문을 말해 줄 수 있습니까? – Sowmya

관련 문제