2013-09-30 9 views
0

문자열 (@ "12345") 및 추출기 각각의 개별 문자를 가져 와서 동등한 10 진수로 변환하려고합니다. I 유형의 오류를 받고있다문자열을 문자로 정수로 변환

... 
[self ArrayOrder:@"1234"]; 
... 

-(void)ArrayOrder(Nsstring *)Directions 
{ 



    NSString *singleDirections = [[NSString alloc] init]; 

    //Loop Starts Here 

    *singleDirection = [[Directions characterAtIndex:x] intValue]; 

    //Loop ends here 


} 

: "1"= 1 @ "2"여기 = 2 등

@

내가이 멀리있는 것입니다.

답변

0

코드 문제는 [Directions characterAtIndex:x]이 유니 코드 문자 인 unichar을 반환한다는 것입니다.

대신 문자열에서 각 숫자를 얻기 위해 NSRange 및 문자열을 사용할 수 있습니다

NSRange range; 
range.length = 1; 
for(int i = 0; i < Directions.length; i++) { 
    range.location = i; 
    NSString *s = [Directions substringWithRange:range]; 
    int value = [s integerValue]; 
    NSLog(@"value = %d", value); 
} 

또 다른 방법은 개별적으로 문자열에서 각 번호에 도착 / 10% 10을 사용하는 것입니다. 예 :

NSString* Directions = @"1234"; 
int value = [Directions intValue]; 
int single = 0; 
while(value > 0) { 
    single = value % 10; 
    NSLog(@"value is %d", single); 
    value /= 10; 
} 

그러나 문자열은 뒤로 이동합니다.