3

iOS 6 用のデータ管理システム用のアプリを開発しています。これが私のコードです。

-(void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];

    self.navigationItem.title = @"Detail";

    if (self.student.thumbnailImage != nil) {
        [self.imageButton setImage:[UIImage imageWithData:self.student.thumbnailImage] forState:UIControlStateNormal];
    } else {
        [self.imageButton setImage:[UIImage imageNamed:@"Default_photo3.png"] forState:UIControlStateNormal];

    }

    NSLog(@"Student First = %@", self.student.firstname);
    self.firstNameTF.text = self.student.firstname;

    NSLog(@"Student Last = %@", self.student.lastname);
    self.lastNameTF.text = self.student.lastname;

    NSLog(@"Student IC = %@", self.student.ic);
    self.icTF.text = self.student.ic;

    NSLog(@"Student Form = %@", self.student.form);
    self.formTF.text = self.student.form;

    NSLog(@"Student Gender = %@", self.student.gender);
    self.genderTF.text = self.student.gender;

    NSLog(@"Student Birthday = %@", self.student.birthday);

    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"dd/MM/yyyy"];
    NSString *date = [dateFormatter stringFromDate:self.student.birthday];
    self.birthdateTF.text = date;;
    self.dateButton.titleLabel.text =date;



    NSLog(@"Address = %@", self.student.address.street);
    NSLog(@"Zip = %@", self.student.address.zip);
    NSLog(@"City = %@", self.student.address.city);
    NSLog(@"State = %@", self.student.address.state);

    [self updateImageButton];

    //Create a mutable array for guardians
    NSSortDescriptor *sortDEscriptors = [[NSSortDescriptor alloc]initWithKey:@"firstname" ascending:YES];
    NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDEscriptors, nil];

    NSMutableArray *sortedGuardians = [[NSMutableArray alloc] initWithArray:[self.student.guardians allObjects]];

    [sortedGuardians sortUsingDescriptors:sortDescriptors];

    self.guardiansArray= sortedGuardians;

    [self.tableView reloadData];
}

テーブルビューが最初にスクロールしないことがわかりました。しかし、この部分を削除する[self.tableView reloadData]と、正常にスクロールしました。誰かが理由を知っていますか?[self.tableView reloadData]編集後にデータが更新されるように、ここに配置する必要があります。

4

2 に答える 2

0

ビューが表示される前にデータを設定し、ビューが表示された後にリロードを要求するように、reloadData を ViewDidAppear メソッドに配置します。

于 2013-03-05T11:19:17.710 に答える