如何在呈现为presentModalViewController之前设置ViewController的属性?

问题描述:

我呈现视图控制器是这样的:如何在呈现为presentModalViewController之前设置ViewController的属性?

FBViewController *fbViewController =[[FBViewController alloc] initWithNibName:@"FBViewController" bundle:nil]; 
[email protected]"hello"; // I set the value of the property label which is the outlet 
[self presentModalViewController:fbViewController animated:YES]; 

FBViewController.h:

#import <UIKit/UIKit.h> 

@interface FBViewController : UIViewController 
@property (weak, nonatomic) IBOutlet UILabel *label; 

@end 

FBViewController.m:

... 
- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    NSLog(@"%@", self.label.text); // Here instead of "hello" i get the value which was in nib file. 

} 
... 

的问题是如何设置标签的值?

您可以通过检索NSString的文本分配标签modalview控制器:

FBViewController *fbViewController =[[FBViewController alloc] initWithNibName:@"FBViewController" bundle:nil]; 
[email protected]"Your Text"; 
[self presentModalViewController:fbViewController animated:YES]; 

FBViewController.h

@interface FBViewController : UIViewController { 

NSString *labeltext; 

} 

@property (nonatomic, retain) NSString *labeltext; 

,并使用视图FBViewController.m

- (void)viewDidLoad { 
    label1.text=labeltext; 
} 
+0

加载方法谢谢你的答案。你知道我的代码为什么不起作用吗?为什么我不能直接设置插座的属性? – Alex 2012-03-26 08:21:09

+0

因为控件在模态视图控制器上重新生成显示和标签文本集默认文本....! – Dinesh 2012-03-26 09:21:15