我创建了一个uitableview,用于计算表格中某个位置的距离。我在单元格中使用此代码作为索引路径的行。
NSString *lat1 = [object valueForKey:@"Lat"];
NSLog(@"Current Spot Latitude:%@",lat1);
float lat2 = [lat1 floatValue];
NSLog(@"Current Spot Latitude Float:%g", lat2);
NSString *long1 = [object valueForKey:@"Lon"];
NSLog(@"Current Spot Longitude:%@",long1);
float long2 = [long1 floatValue];
NSLog(@"Current Spot Longitude Float:%g", long2);
//Getting current location from NSDictionary
CoreDataTestAppDelegate *appDelegate = (CoreDataTestAppDelegate *) [[UIApplication sharedApplication] delegate];
NSString *locLat = [NSString stringWithFormat:appDelegate.latitude];
float locLat2 = [locLat floatValue];
NSLog(@"Lat: %g",locLat2);
NSString *locLong = [NSString stringWithFormat:appDelegate.longitude];
float locLong2 = [locLong floatValue];
NSLog(@"Long: %g",locLong2);
//Location of selected spot
CLLocation *loc1 = [[CLLocation alloc] initWithLatitude:lat2 longitude:long2];
//Current Location
CLLocation *loc2 = [[CLLocation alloc] initWithLatitude:locLat2 longitude:locLong2];
double distance = [loc1 getDistanceFrom: loc2] / 1600;
NSMutableString* converted = [NSMutableString stringWithFormat:@"%.1f", distance];
[converted appendString: @" m"];
除了我刚刚发现的问题之外,当您滚动超出页面高度时,距离文本重复在详细文本标签的顶部之外,它可以正常工作。
这是我的意思的屏幕截图。
为什么要这样做呢?
答案 0 :(得分:0)
我看不到屏幕截图,但我发现用于创建字符串的代码没有问题。至少如果您正在使用垃圾收集 - 如果您正在使用手动内存管理,则需要保留/释放。它也可能是带有表配置的.xib文件中的问题。最后,您使用的是任何自定义视图还是仅使用标准Cocoa控件?自定义控件有时会导致绘图/刷新问题。