[objective-c] NSNumber를 NSString으로 변환하는 방법

그래서 s와 s를 NSArray가진 “myArray”가 있습니다. 나는 다른 사람들이 필요 하므로 다음과 같이하십시오.NSNumberNSStringUIView

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

DetailViewController *details = [[DetailViewController alloc] initWithNibName:@"DetailView" bundle:nil];
details.subjectText = [[myArray objectAtIndex:indexPath.row] objectForKey:@"subject"];

subjectText가 작동합니다. 그러나 어떻게 NSNumber그것을 제거 할 수 있습니까? (실제로 문자열로 필요합니다 …) NSString다음 NSNumber과 같이
변환합니다 NSString *blah = [NSNumber intValue]. 그러나 위 코드에서 설정하는 방법을 모르겠습니다 …



답변

시험:

NSString *myString = [NSNumber stringValue];


답변

당신은 그것을 할 수 있습니다 :

NSNumber *myNumber = @15;
NSString *myNumberInString = [myNumber stringValue];


답변

//An example of implementation :
// we set the score of one player to a value
[Game getCurrent].scorePlayer1 = [NSNumber numberWithInteger:1];
// We copy the value in a NSNumber
NSNumber *aNumber = [Game getCurrent].scorePlayer1;
// Conversion of the NSNumber aNumber to a String with stringValue
NSString *StringScorePlayer1 = [aNumber stringValue];


답변

또는 시도 NSString *string = [NSString stringWithFormat:@"%d", [NSNumber intValue], nil];


답변

재미있는 점은 NSNumber가 문자열의 일부가되면 자동으로 문자열로 변환한다는 것입니다. 나는 그것이 문서화되지 않았다고 생각합니다. 이것들을보십시오 :

NSLog(@"My integer NSNumber:%@",[NSNumber numberWithInt:184]);
NSLog(@"My float NSNumber:%@",[NSNumber numberWithFloat:12.23f]);
NSLog(@"My bool(YES) NSNumber:%@",[NSNumber numberWithBool:YES]);
NSLog(@"My bool(NO) NSNumber:%@",[NSNumber numberWithBool:NO]);

NSString *myStringWithNumbers = [NSString stringWithFormat:@"Int:%@, Float:%@ Bool:%@",[NSNumber numberWithInt:132],[NSNumber numberWithFloat:-4.823f],[NSNumber numberWithBool:YES]];
NSLog(@"%@",myStringWithNumbers);

인쇄됩니다 :

My integer NSNumber:184
My float NSNumber:12.23
My bool(YES) NSNumber:1
My bool(NO) NSNumber:0
Int:132, Float:-4.823 Bool:1

Mac과 iOS 모두에서 작동

이것은 작동하지 않습니다 :

NSString *myNSNumber2 = [NSNumber numberWithFloat:-34512.23f];


답변

스위프트에서는 다음과 같이 할 수 있습니다

let number : NSNumber = 95
let str : String = number.stringValue


답변

스위프트 3.0

let number:NSNumber = 25
let strValue = String(describing: number as NSNumber)
print("As String => \(strValue)")

문자열에서 숫자 값을 얻을 수 있습니다.