찾다

 >  Q&A  >  본문

object-c - %d를 사용하여 NSString 유형 데이터를 출력하는 경우 결과의 근거는 무엇입니까?

으아악

위 코드를 사용하면 출력 결과가 매우 난수처럼 느껴집니다57835920. 그럼 이 숫자는 어떻게 도출됐는지 궁금해요.


스토리 배경: 배열 데이터 정렬을 연습할 때 게으른 마음에 NSString 형식의 데이터를 <>과 직접 비교했습니다. 처음에는 몇 개의 숫자를 데이터 소스로 시뮬레이션했지만 나중에는 데이터가 볼륨이 커지면서 정렬 오류가 발생한 것으로 확인되었습니다. 디버깅 과정에서 NSString 유형의 데이터가 NSInteger 유형으로 변환되지 않았기 때문인 것으로 나타났습니다. 마지막으로 .integer 속성을 ​​호출하여 게으름으로 인한 BUG를 해결합니다.
근데 공식적으로는 BUG 때문에 ​​궁금해서 %d를 직접 사용해 NSString형 데이터를 출력하는데요.

世界只因有你世界只因有你2877일 전608

모든 응답(2)나는 대답할 것이다

  • 大家讲道理

    大家讲道理2017-04-28 09:07:42

    numberString의 타입이 NSString이 아니고, 포인터 즉 정수인 NSString*입니다

    이 정수의 의미는..메모리에 있는 해당 NSString 객체의 주소입니다

    회신하다
    0
  • phpcn_u1582

    phpcn_u15822017-04-28 09:07:42

    와일드 포인터 큰 숫자

    회신하다
    0
  • 취소회신하다