iPhoneSDK:视图不是第一次加载数据,而是随后加载数据

时间:2009-10-16 15:16:09

标签: iphone uiview uinavigationcontroller

我正在尝试加载包含多个数据的UIView。问题是数据不是在第一次加载时显示,而是在后续点击中加载。你能帮我跟踪一下这个问题。

FirstViewController.h

    #import <UIKit/UIKit.h>

    @class SecondViewController;

    @interface FirstViewController : UIViewController {

        IBOutlet SecondViewController *mySecondViewController;
        IBOutlet UIImageView *myimage1;
        IBOutlet UIImageView *myimage2;
        IBOutlet UILabel *mylabel1;
        IBOutlet UILabel *mylabel2;

    }

    @property (nonatomic, retain) IBOutlet SecondViewController *mySecondViewController;
    @property (nonatomic, retain) IBOutlet UIImageView *myimage1;
    @property (nonatomic, retain) IBOutlet UIImageView *myimage2;
    @property (nonatomic, retain) IBOutlet UILabel *mylabel1;
    @property (nonatomic, retain) IBOutlet UILabel *mylabel2;

    - (IBAction)bringNextView:(id)sender;
    - (IBAction)bringNextView2: (id)sender;

    @end

    FirstViewController.m

        #import "FirstViewController.h"
        #import "SecondViewController.h"
        @implementation FirstViewController
        @synthesize mySecondViewController,myimage1, myimage2, mylabel1, mylabel2;
        - (IBAction)bringNextView:(id)sender {
         mySecondViewController.name.text = @"Paul";
         mySecondViewController.myimageview.image = [UIImage imageNamed:@"Paul.png"];
         mySecondViewController.statmsg.text = @"Doing iPhone Development";
         [[self navigationController] pushViewController:mySecondViewController animated:YES]; 
        }


    SecondViewController.m

    #import "SecondViewController.h"
    @implementation SecondViewController
    @synthesize myimageview, name, statmsg
    - (void)viewDidLoad {
        [self setTitle:@"Details"];
        [super viewDidLoad];
    }

属性不是第一次来。但是从视图返回然后再次加载视图后显示。

我从FirstViewController加载SecondViewController。

1 个答案:

答案 0 :(得分:-1)

嗨,我已经解决了这个问题。实际上我在设置属性后推动了我的视图控制器并导致了这个问题。

而不是:

mySecondViewController.name.text = @"Paul";
mySecondViewController.myimageview.image = [UIImage imageNamed:@"Paul.png"];
mySecondViewController.statmsg.text = @"Doing iPhone Development";
[[self navigationController] pushViewController:mySecondViewController animated:YES];

应该是:

[[self navigationController] pushViewController:mySecondViewController animated:YES];
mySecondViewController.name.text = @"Paul";
mySecondViewController.myimageview.image = [UIImage imageNamed:@"Paul.png"];
mySecondViewController.statmsg.text = @"Doing iPhone Development";