我试图从UIPicker中获取avalue,其中包含圆形数字,从中抽取的整数和NSMutableArray.我正在尝试将拉出的值转换为实际的int.
我在.m中试过这个:
int pickednumber;
......
-(void) pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{
NSString *numbers = [arrayNumbers objectAtIndex:[pickerView selectedRowInComponent:0]];
pickednumber = [NSString stringWithFormat:@"%d", numbers];
NSLog(@"Picked number %@ ", numbers);
}
Run Code Online (Sandbox Code Playgroud)
我在picknumber = line中得到错误:指向整数转换的不兼容指针从'id'分配给'int'.我究竟做错了什么?
消息由Sounddesigner于3月8日下午3:05编辑
我有以下代码,用于将毫秒转换为小时,分钟和秒:
int hours = floor(rawtime / 3600000);
int mins = floor((rawtime % 3600000) / (1000 * 60));
int secs = floor(((rawtime % 3600000) % (1000 * 60)) / 1000);
NSLog(@"%d:%d:%d", hours, mins, secs);
NSString *hoursStr = [NSString stringWithFormat:@"%d", hours];
NSString *minsStr = [NSString stringWithFormat:@"%d", mins];
NSString *secsStr = [NSString stringWithFormat:@"%d", secs];
NSLog(@"%a:%a:%a", hoursStr, minsStr, secsStr);
Run Code Online (Sandbox Code Playgroud)
非常坦率的.Rawtime是一个值为1200的int.输出如下:
0:0:1
0x1.3eaf003d9573p-962:0x1.7bd2003d3ebp-981:-0x1.26197p-698
Run Code Online (Sandbox Code Playgroud)
为什么将int转换为字符串会产生如此狂野的数字呢?我尝试过使用%i和%u,但没有区别.怎么了?
我以为我已经钉转换的int并NSString而回,但每次我跑我的代码时,程序得到以下线路和崩溃.谁能看到我做错了什么?
NSString *rssiString = (int)self.selectedBeacon.rssi;
UnitySendMessage("Foo", "RSSIValue", [rssiString UTF8String] );
Run Code Online (Sandbox Code Playgroud)
这些行应该使用rssi值(这是一个NSInt)将其转换为字符串,然后以它可以读取的格式将其传递给我的unity对象.
我究竟做错了什么?