Reputation: 1866
I'm making a client-server program for iphone and i want to use my serverIP which is a part of my second view in the first view serverIP is a uitextfield. i use to enter the value of ServerIP in second View but i want to use the value of serverIP IN Firstview.
""secondview.h"" interface file
#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"" implementation file
#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
Upvotes: 0
Views: 107
Reputation: 12900
if ([[NSUserDefaults standardUserDefaults] objectForKey:@"load"] != nil) {
serverIP = [[NSUserDefaults standardUserDefaults] objectForKey:@"load"];
} else {
serverIP = @"Your default IP address";
[[NSUserDefaults standardUserDefaults] setObject:serverIP ForKey:@"load"];
}
Instead of 'load' though I would use something less likely to clash with defaults such as
myappname_serverip
Upvotes: 0
Reputation:
serverIP is textField. You can get the text in it as serverIp.text So you can save it in user default as
[[NSUserDefaults standardUserDefaults] setObject:serverIp.text forKey:@"save"];
You were trying to save the text field itself as integer in user defaults, which is incorrect.
To retrieve it, use
NSString *serverIpString = [[NSUserDefaults standardUserDefaults] objectForKey:@"save"];
Upvotes: 1
Reputation: 982
Do this to save:
[[NSUserDefaults standardUserDefaults] setObject:serverIP.text forKey:@"save"];
and to retrieve:
NSString *serverIPSTR = [[NSUserDefaults standardUserDefaults] objectForKey:@"load"];
Upvotes: 0