어떻게 변환을 수행 NSInteger
받는NSString
데이터 유형을?
월은 다음과 같이 시도했습니다 NSInteger
.
NSString *inStr = [NSString stringWithFormat:@"%d", [month intValue]];
답변
NSInteger는 객체가 아니며 long
현재 64 비트 아키텍처의 정의와 일치시키기 위해 캐스트합니다 .
NSString *inStr = [NSString stringWithFormat: @"%ld", (long)month];
답변
Obj-C 방법 =) :
NSString *inStr = [@(month) stringValue];
답변
현대 목표 -C
는 NSInteger
방법 갖는 stringValue
리터로에도 사용될 수있다
NSString *integerAsString1 = [@12 stringValue];
NSInteger number = 13;
NSString *integerAsString2 = [@(number) stringValue];
매우 간단합니다. 그렇지 않습니까?
빠른
var integerAsString = String(integer)
답변
%zd
%tu
32 비트 및 64 비트 아키텍처 모두에서 캐스트 및 경고가없는 NSInteger ( NSUInteger의 경우)에서 작동합니다 . 이것이 ” 권장 방법 ” 이 아닌 이유를 모르겠습니다 .
NSString *string = [NSString stringWithFormat:@"%zd", month];
왜 이것이 효과가 있는지에 관심 이 있다면이 질문을 참조하십시오 .
답변
쉬운 방법 :
NSInteger value = x;
NSString *string = [@(value) stringValue];
여기에서 @(value)
주어진 함수를 필요한 함수를 호출 할 수 NSInteger
있는 NSNumber
객체 로 변환합니다 stringValue
.
답변
에 대한 지원으로 컴파일 할 때 arm64
경고가 생성되지 않습니다.
[NSString stringWithFormat:@"%lu", (unsigned long)myNSUInteger];
답변
시도해 볼 수도 있습니다 :
NSInteger month = 1;
NSString *inStr = [NSString stringWithFormat: @"%ld", month];