Iphone nsstring和nsinteger转换
我有两个数组,第一个数组包含数字,第二个数组使用这些数字作为索引Iphone nsstring和nsinteger转换,iphone,objective-c,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;
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]时,它崩溃了
我怎样才能解决这个问题
先谢谢你
for (NSString *theDay in arrayDays) {
NSLog(@"string %@",theDay);
int dayIndex = [theDay intValue];
NSLog(@"integer %d", dayIndex);
daysPrint = [NSString stringWithFormat:@"%@ %@", daysPrint, [dayOfWeek objectAtIndex:dayIndex]];
}
这可能会帮助您……您可以使用NSString实例方法,如[theDay intValue]进行整数转换。不需要投你自己
希望这能有所帮助。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]];
}
使用
相反,请使用此
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]];
}
NSArray*arrayDays=[days componentsSeparatedByString:@”“]在这个“days”中是一个字符串?使用NSLog打印“days”。要获取“dayIndex”,请使用[Day intValue]。字符串daysPrint将显示为null,并且dayOfWeek没有用于索引dayIndex的元素。如何获取“days”字符串。请添加一些代码。
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]];
}