gpt4 book ai didi

objective-c - 卡住试图从一个 Viewcontroller 中的 UILabel 获取 NSString 以放置在另一个 Viewcontroller 的 UITextView 中

转载 作者:行者123 更新时间:2023-11-28 20:32:55 25 4
gpt4 key购买 nike

我有一个带有两个 View Controller 的应用程序,我想在 VC2 的 UITextView 中显示来自 VC1 的 UILabel 的文本。

我已经能够在 VC2 的 viewDidLoad 中从 VC1 访问 UILabel,但实际文本没有出现。

在VC2中我创建了一个VC1对象,可以访问VC1。这是 VC2 viewDidLoad:

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
self.textView.text = vc1Controller.label.text;
}

但是当我运行该应用程序并且出现 VC2 时,UITextView 中什么也没有出现。我确实有线并且可以通过执行 NSLog(@”Yes”); 来显示文本;例如在上面的方法中。

当我执行 NSLog(@”%@”, vc1Controller.label.text);我在输出中得到 NULL。

我需要创建自定义 getter 吗?任何建议表示赞赏。我对所有编程都比较陌生。

最佳答案

这是从 View 中传递 NSString 的方式:

第一个 View :

@interface ViewController : UIViewController{
IBOutlet UILabel *firstLbl;
NSString *firstString;
}

-(IBAction)labelTouched:(id)sender;

@end

@implementation ViewController

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.

firstString = @"I'm the first labels text";
firstLbl.text = firstString;

}


-(IBAction)labelTouched:(id)sender{

ViewController2 *view2 = [[ViewController2 alloc] init];
view2.selectedFirstLabelString = firstString;
[self presentModalViewController:view2 animated:YES];
[view2 release];
}

第二 View :

@interface ViewController2 : UIViewController{
IBOutlet UILabel *secondLbl;
}
@property (nonatomic, retain)NSString *selectedFirstLabelString;

-(IBAction)done:(id)sender;
@end



@implementation ViewController2
@synthesize selectedFirstLabelString;


- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.

secondLbl.text = selectedFirstLabelString;
}

希望这对您有所帮助。

关于objective-c - 卡住试图从一个 Viewcontroller 中的 UILabel 获取 NSString 以放置在另一个 Viewcontroller 的 UITextView 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11595053/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com