你是我对目标c的新手。我有一个登录视图控制器与.h,.m,.xib文件。 成功登录后,我需要转到第二页。
场景是这样的,我正在访问Web服务。为了验证用户,我将用户名和密码发送到Web服务,作为回报,我得到一个字符串值。 根据我需要显示第二个屏幕的字符串值的结果。 请帮忙
答案 0 :(得分:2)
如果您只需传递几个值,则可以将它们作为 init 方法的参数。例如:
-(id)initWithUserName:(NSString *)name andPassword:(NSString *)password {
self = [super init];
if (nil == self) {
return nil;
}
// display or store login info somewhere
[someLabel setText:name];
return self
}
否则,如果您想在下一个视图中使用很多值,请使用Morion的建议并单独创建一个类。
答案 1 :(得分:1)
您可以创建一个类来存储一些共享数据,并在您的应用程序委托中创建它的实例。通过这种方式,您可以在应用的任何类中使用此共享数据。
答案 2 :(得分:1)
OPNe方式是在app delegate中创建属性。每个控制器都可以通过以下方式访问appdelegate:
[[UIApplication sharedApplication] delegate]
答案 3 :(得分:1)
这是你的问题;当您从服务器获得响应时,您需要创建一个视图控制器并将该字符串放入其中吗?
在第一个视图控制器中尝试这样的事情
// Get the string from the server
NSString *string = [get string from server];
// Create the second controller
SecondViewController *controller = [[SecondViewController alloc] initWithNibName:@"nibname" bundle:nil];
// Set the text property of a label in the controller
controller.myLabel.text=string;
// Add the view to the window so we can see it
[[[[UIApplication sharedApplication] delegate] window] addSubview:controller.view];
这将创建一个新的控制器,在其中设置一个字符串并在窗口中显示它。
您需要制作一个包含UILabel的xib文件,并将其附加到第二个控制器中名为myLabel的名称,即
。@interface SecondViewController {
UILabel *myLabel;
}
@property (nonatomic, retain) IBOutlet UILabel *myLabel;
@end
希望这有帮助,
萨姆
答案 4 :(得分:0)
您无法在nib文件中显示值。
获取Standard user defaults的引用并将字符串存储在那里。然后,您可以随时随地访问该值。
答案 5 :(得分:0)
NSString *str1 = @"Apple";
NSString *str2 = @"Orange";
if([str1 isEqualToString: str2]) {
}else{
}
它会帮助你