-1

「iLabel」はシミュレーターに表示されますが、アーカイブされてIPAファイルが実行されると、表示されません。コードをクリーンアップしようとしましたが、何もしませんでした。iLabelの考え方は、UIIndicatorがアニメーション化されていることを示し、もちろんインジケーターが消えると消えることです。

- (void)viewDidLoad
{
  [super viewDidLoad];

  [[self myTableView] setDelegate:self];
  [[self myTableView] setDataSource:self];
  array = [[NSMutableArray alloc] init];

  [self startActivity];
}

-(void)startActivity
{
  indicator.hidden=NO;
  [indicator startAnimating];

  [self uploadData];
  NSLog(@"VIEWDIDLOAD-INDICATOR-TURNING-ON: %@", indicator);
}

-(void)uploadData
{
  NSLog(@"Uploading...");

  [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(checkForReachability) name:kReachabilityChangedNotification object:nil];

  Reachability *reachability = [Reachability reachabilityForInternetConnection];
  [reachability startNotifier];

  NetworkStatus remoteHostStatus = [reachability currentReachabilityStatus];

  if(remoteHostStatus == NotReachable)
  {
    UIAlertView *alert = [[UIAlertView alloc]
                          initWithTitle: @"Oops..."
                          message: @"Network connection lost."
                          delegate: nil
                          cancelButtonTitle:@"OK"
                          otherButtonTitles:nil];
    [alert show];    }

  else if (remoteHostStatus == ReachableViaWiFi)
  {
    iLabel.text = @"Please be patient...";
  }
}


- (void) connectionDidFinishLoading:(NSURLConnection *)connection
{
  [self setString];

  NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:responseData options:0 error:nil];
  NSString *string1 = [dic objectForKey:@"name"];
  NSString *string7 = [dic objectForKey:@"review_count"];
  NSString *string3 = [dic objectForKey:@"display_phone"];
  NSDictionary *location = [dic objectForKey:@"location"];
  NSArray *array2 = [location objectForKey:@"display_address"];
  NSDictionary *coordinate = [location objectForKey:@"coordinate"];

  lat = [coordinate objectForKey:@"latitude"];
  lon = [coordinate objectForKey:@"longitude"];
  mURL = [dic objectForKey:@"mobile_url"];

  NSString *string4 = [array2 objectAtIndex:0];
  NSString *string5 = [array2 objectAtIndex:1];
  NSString *img2String = [dic objectForKey:@"image_url"];

for (NSDictionary *diction in dic)
{
    NSString *string6 = [NSString stringWithFormat:@"Yelp Rating:                   "];
    NSString *string8 = [NSString stringWithFormat:@"Based on %@ Review(s)", string7];

    [array addObject:string1];
    [array addObject:string6];
    [array addObject:string8];
    [array addObject:string3];
    [array addObject:string4];
    [array addObject:string5];

    UIImage *image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:img2String]]];
    imageView.image = image;
  }

  for (NSDictionary *diction in coordinate)
  {
    [array addObject:lat];
    [array addObject:lon];
  }

  [[self myTableView] reloadData];

  [indicator stopAnimating];
  indicator.hidden=YES;
  [indicator removeFromSuperview];

  iLabel.text = @"";
  [iLabel removeFromSuperview];
}
4

2 に答える 2

1

投稿したコードから判断すると、リモートホストに到達できない場合は、のテキストを設定することはありませんiLabel。したがって、ラベルがデバイスに表示されない場合は、ラベルを設定するときに、デバイスからリモートホストに到達できることを確認してください。

于 2013-02-27T03:01:59.850 に答える
0

なぜ早く捕まえなかったのかわからない。問題は次のとおりです。

    if(remoteHostStatus == NotReachable)
    {
      UIAlertView *alert = [[UIAlertView alloc]
                          initWithTitle: @"Oops..."
                          message: @"Network connection lost."
                          delegate: nil
                          cancelButtonTitle:@"OK"
                          otherButtonTitles:nil];
      [alert show];    }

    else if (remoteHostStatus == ReachableViaWiFi)
    {
      ilabel.text = @"Please be patient...";
    }

下部を次のように変更しました。

    else
    {
      ilabel.text = @"Please be patient...";
    }

...そして今はすべてが順調です。

于 2013-02-27T04:03:17.610 に答える