둘 다 작동하지만 어떤 것을 사용하겠습니까? (그 편지는, 거기있는 많은으로 차단됩니다 번 이상이 더 많은 경우)NSString 자체 수정 카테고리 딜레마
@implementation NSString (Extender)
-(NSString *) stringByTrimmingPrefix:(NSString *)strPrefix
{
while ([self hasPrefix:strPrefix])
{
self = [self substringFromIndex:strPrefix.length];
}
return self;
}
@end
또는
@implementation NSString (Extender)
-(NSString *) stringByTrimmingPrefix:(NSString *)strPrefix
{
NSString *returnValue = [NSString stringWithString:self];
while ([returnValue hasPrefix:strPrefix])
{
returnValue = [returnValue substringFromIndex:strPrefix.length];
}
return returnValue;
}
@end
Searching, Comparing, and Sorting Strings를 참조하십시오. 'self'는 멤버 변수가 아니며 간단한 함수 매개 변수입니다. 원하는대로 '자기'를 지정할 수 있으며, 원래 가리키는 대상인 경우 상태를 변경하지 않습니다. – Darren
기술적으로는 작동하지만, 나는 정말 나쁜 형태이며 많은 사람들을 혼란스럽게 할 것이라고 생각합니다. –
'self'에서 컨텍스트를 호출하고 자체 개체를 수정하는 것은 좋은 프로그래밍 습관이 아닙니다. –