gpt4 book ai didi

iphone - 在第一个 View 中使用第二个 View 的文本字段

转载 作者:行者123 更新时间:2023-12-03 21:19:39 25 4
gpt4 key购买 nike

我正在为 iphone 制作一个客户端-服务器程序,我想使用我的 serverIP,它是第一个 View 中第二个 View 的一部分,serverIP 是一个 uitextfield。我过去常常在第二个 View 中输入 ServerIP 的值,但我想在第一个 View 中使用 serverIP 的值。

“secondview.h”接口(interface)文件

#import <UIKit/UIKit.h>


@interface secondview : UIViewController {

IBOutlet UIView *view;
IBOutlet UITextField *serverIP;
IBOutlet UITextField *noc;
IBOutlet UIButton *save;
IBOutlet UIButton *back;
IBOutlet UIButton *load;
IBOutlet UILabel *display1;
}

-(IBAction) back;
-(IBAction) save;
-(IBAction) load;

@property (nonatomic,retain) IBOutlet UITextField *serverIP;
@property (nonatomic,retain) IBOutlet UITextField *noc;
@property (nonatomic , retain) IBOutlet UILabel *display1;


@end

“secondview.m”实现文件

#import "secondview.h"


@implementation secondview


@synthesize serverIP,noc,display1;


-(IBAction) save{

[[NSUserDefaults standardUserDefaults] setInteger:serverIP forKey:@"save"];

NSUserDefaults *myname = [NSUserDefaults standardUserDefaults];



[serverIP resignFirstResponder];



}

-(IBAction) load {

serverIP = [[NSUserDefaults standardUserDefaults] integerForKey:@"load"];

NSUserDefaults *myname = [NSUserDefaults standardUserDefaults];





}


-(IBAction) back {

[self.parentViewController dismissModalViewControllerAnimated: YES];
}



- (void)dealloc {
[super dealloc];
}


@end

最佳答案

既然你已经这样做了

[[NSUserDefaults standardUserDefaults] setInteger:serverIP forKey:@"save"];

我会在这方面帮助你。首先,serverIPUITextField 的一个实例。如果您按照上述操作,您将不会存储其中保存的文本值。改为执行此操作 –

[[NSUserDefaults standardUserDefaults] setString:serverIP.text forKey:@"serverIP"];
[[NSUserDefaults standardUserDefaults] synchronize];

现在您将能够在第一个 View 中访问它。你必须这样做 –

NSString *serverIP = [[NSUserDefaults standardUserDefaults] stringForKey:@"serverIP"];

替代方法

但是,使用用户默认值可能不是正确的方法。如上所述,您可以使用应用程序委托(delegate)来存储所有此类值,这可能会使它膨胀。

最好定义一个可以从第一个 View Controller 传递到第二个 View Controller 的模型对象(可变)。然后您可以在第二个 View Controller 中修改模型对象,并且第一个 View Controller 应该能够看到它。

我建议您将第二个 View Controller 上的保留属性声明为 NSMutableString *ipAddress,您可以将其修改为 [ipAddress setString:serverIP.text];。您必须在第一个 View Controller 中声明 iVar 并在将其传递到第二个 View Controller 之前对其进行初始化。如果您需要更多帮助,请告诉我。

关于iphone - 在第一个 View 中使用第二个 View 的文本字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6043264/

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