NSArray의 모든 NSString 멤버에 대해 stringByDeletingPathExtension
을 실행하려고합니다. Objective-C에서 어떻게하면됩니까?배열의 "stringByDeletingPathExtension"에 해당합니다.
답변
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]];
}
다음
고맙습니다 stringByDeletingPathExtension' 새로운 (오토 릴리즈) 문자열을 반환'이후 정말하지만 유용한 아무것도 수행하지 않을 것 – Sowmya
... – Wevah
을있는 NSString * fullpath에 = [[moszi NSBundle mainBundle] pathForResource : [destfileName stringByDeletingPathExtension] ofType : @ "xml"]; 이게 NSArray를 위해 어떻게 할 수 있니? 구문을 말해 줄 수 있습니까? – Sowmya
당신이 "equellent"무엇을 의미합니까 ... 당신의 newArray를 사용할 수 있습니까? – Eimantas
NSArray의 각 멤버에서이 메서드를 실행 하시겠습니까? 귀하의 질문을 명확히하십시오. – Moszi
@Moszi 나중에 다음 내 대답을 참조하십시오 – Sowmya