nsstring和nsinteger转换

use*_*477 -1 iphone objective-c

我有两个数组,第一个是内容编号,第二个使用这个数字作为索引.

NSArray *dayOfWeek = [NSArray arrayWithObjects:@"D",@"L",@"M", @"X",@"J",@"V",@"S", nil];

NSArray *arrayDays = [days componentsSeparatedByString:@" "];     

 //arrayDays  2 3 4 5 6 

     NSString *daysPrint;

     for (NSString *theDay in arrayDays) {
         NSLog(@"string %@",theDay);
         NSInteger dayIndex = (NSInteger)theDay;
         NSLog(@"integer %d", dayIndex);
         daysPrint = [NSString stringWithFormat:@"%@ %@", daysPrint, [dayOfWeek objectAtIndex:dayIndex]];

     }
Run Code Online (Sandbox Code Playgroud)

在日志中:

2012-07-02 12:49:27.322 usualBike[1698:f803] string 2
2012-07-02 12:49:27.323 usualBike[1698:f803] integer 109471840
Run Code Online (Sandbox Code Playgroud)

显然,当我试图让dayOfWeek [109461840]崩溃时.

我怎么解决这个问题?

先感谢您

Bhu*_*esh 10

daysPrint归零.你需要给它空白值,这是崩溃的原因

NSArray *dayOfWeek = [NSArray arrayWithObjects:@"D",@"L",@"M", @"X",@"J",@"V",@"S", nil];

NSArray *arrayDays = [days componentsSeparatedByString:@" "];     

//arrayDays  2 3 4 5 6 

NSString *daysPrint=@"";

for (NSString *theDay in arrayDays) {
    NSLog(@"string %@",theDay);
    NSInteger dayIndex = [theDay intValue];
    NSLog(@"integer %d", dayIndex);
    daysPrint = [NSString stringWithFormat:@"%@ %@", daysPrint, [dayOfWeek objectAtIndex:dayIndex]];

}
Run Code Online (Sandbox Code Playgroud)