2012-07-02 52 views
-1

我有两个数组,第一个内容数字和第二个使用这个数字作为索引。nsstring和nsinteger转换

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]]; 

    } 
在日志中

2012-07-02 12:49:27.322 usualBike[1698:f803] string 2 
2012-07-02 12:49:27.323 usualBike[1698:f803] integer 109471840 

而且很明显,当我试图让一个dayOfWeek [109461840]崩溃。

我该如何解决这个问题?

预先感谢您

+0

的NSArray * arrayDays = [天componentsSeparatedByString的原因: @“”]在这个“days”是一个字符串?使用NSLog打印“days”。获取“dayIndex”,使用[theDay intValue]。 – Madhumitha

+0

字符串daysPrint出现为null,而dayOfWeek也没有用于索引dayIndex的元素。 –

+0

如何获取“天”字符串。请添加一些代码。 – Madhumitha

回答

4

使用此

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

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

} 

可能,这将帮助你...

3

您可以像使用[theDay的intValue] NSString的实例方法整数转换。不需要投你自己。

希望这会有所帮助。

10

daysPrint正在为null。 ü需要assing空白值,这是崩溃

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

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

//arrayDays 2 3 4 5 6 

NSString *[email protected]""; 

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

} 
2

使用

NSInteger dayIndex = [theDay intValue]; 

代替

相关问题