반응형
NSString의 마지막 문자 제거
NSString의 마지막 문자를 제거 할 때 문제가 있습니다. 저는 Objective-C의 모든이고이를 수행하는 방법을 작업합니다.
저를 밝혀 줄 수 있나요?
NSString *newString = [oldString substringToIndex:[oldString length]-1];
항상 문서를 참조하십시오 .
케이스와 관련된 코드를 포함 비용 :
NSString *str = textField.text;
NSString *truncatedString = [str substringToIndex:[str length]-1];
이 시도 :
s = [s substringToIndex:[s length] - 1];
NSString *string = [NSString stringWithString:@"ABCDEF"];
NSString *newString = [string substringToIndex:[string length]-1];
NSLog(@"%@",newString);
= ABCDE를 볼 수 있습니다.
NSString = *string = @"abcdef";
string = [string substringToIndex:string.length-(string.length>0)];
즉, 문자가있는 경우 (즉, 훨씬의 길이가 0보다 크면) (string.length>0)
1을 반환 코드가 다음과 같이 반환됩니다.
string = [string substringToIndex:string.length-1];
즉, (string.length>0)
0을 반환하는 코드가 다음과 같이 반환됩니다.
string = [string substringToIndex:string.length-0];
충돌을 방지합니다.
이 코드는 마지막 문자를 반환하고 제거하지 않습니다.
NSString *newString = [oldString substringToIndex:[oldString length]-1];
대신 사용을 사용 하여 마지막 문자 를 사용 하고 있습니다.
str = [str substringWithRange:NSMakeRange(0,[str length] - 1)];
또한 길이 가 0 인 NSString에 substringToIndex 를 사용 하면 충돌이 발생합니다.
이렇게하기 전에 다음과 같이 유효성 검사를 추가해야합니다.
if ([str length] > 0) {
str = [str substringToIndex:[s length] - 1];
}
이를 통해 부분적으로 사용하는 것이 안전합니다.
참고 : 응용 프로그램이 충돌에 취약한 경우 Apple은 응용 프로그램을 거부합니다.
간단하고 최상의 접근
[mutableString deleteCharactersInRange:NSMakeRange([myRequestString length]-1, 1)];
참고 URL : https://stackoverflow.com/questions/7641624/remove-last-character-of-nsstring
반응형
'ProgramingTip' 카테고리의 다른 글
경고 : 고유 한 배열 또는 반복기의 각 하위에는 한 "키"소품이 있어야합니다. (0) | 2020.10.25 |
---|---|
시간 존재 단위 테스트 (0) | 2020.10.25 |
탐색 컨트롤러 사용자 지정 전환 애니메이션 (0) | 2020.10.25 |
Java에서 여러 생성 손상을 처리하는 가장 좋은 방법 (0) | 2020.10.25 |
거의에서 200 개의 csv 파일을 병합하는 방법 (0) | 2020.10.25 |