0

現在のユーザーの位置といくつかの注釈ピンの間の距離を含む配列があります。最初のログでは値が正しく表示されますが、それらを配列に追加すると、すべての値が「0」になります。私は何を間違っていますか?すでにアップルのドキュメントを参照しました。エラーはまったく発生しません。前もって感謝します..

 for (Posts *post in allPosts) {
    CLLocation *postLocation = [[CLLocation alloc] initWithLatitude:post.coordinate.latitude longitude:post.coordinate.longitude];

    CLLocation *userLoc = [[CLLocation alloc] initWithLatitude:appDelegate.currentLocation.coordinate.latitude longitude:appDelegate.currentLocation.coordinate.longitude];

    CLLocationDistance dist = [userLoc distanceFromLocation:postLocation];
    distance = [NSString stringWithFormat:@"%.2f", dist];


    NSMutableArray *array = [[NSMutableArray alloc] initWithObjects:post, nil];

    NSSortDescriptor *sort = [NSSortDescriptor sortDescriptorWithKey:distance ascending:YES];
    NSLog(@"%@", sort);
    NSArray *sor = @[sort];
    NSArray *sorted = [array sortedArrayUsingDescriptors:sor];



    float flo = [[NSString stringWithFormat:@"%@",sorted]floatValue];
    NSLog(@"%.f",flo);
4

1 に答える 1

0
float flo = [[NSString stringWithFormat:@"%@",sorted]floatValue];
NSLog(@"%.f",flo);

配列を文字列に入れようとしていて、その float 値を使用しています。おそらく、代わりに配列の要素を取りたいでしょう。

于 2012-10-28T22:11:38.653 に答える