私の最初のViewControllerには、3つの入力フィールドがあり、それぞれがユーザー入力を受け取り、アドレス、ユーザー名、パスワードなどの文字列に保存しますNSUserDefaults。この部分は正常に機能します。2番目のビューコントローラーでは、最初のコントローラーから3つの文字列(アドレス、ユーザー名、パスワード)を取得して、3つの文字列に基づいてhtmlリンクを作成しようとしています。運が悪かったので、3つの文字列にアクセスする方法をたくさん試しましたが、結果はですNULL。これが私のコードです:
//.hファイル-3つの入力フィールドを持つ最初のビューコントローラCamSetup.h
 #import <UIKit/UIKit.h>
 @interface CamSetup : UIViewController <UITextFieldDelegate> 
 {
    NSString * address;
    NSString * username;
    NSString * password;
    IBOutlet UITextField * addressField;
    IBOutlet UITextField * usernameField;
    IBOutlet UITextField * passwordField; 
 }
 -(IBAction) saveAddress: (id) sender;
 -(IBAction) saveUsername: (id) sender;
 -(IBAction) savePassword: (id) sender;
 @property(nonatomic, retain) UITextField *addressField;
 @property(nonatomic, retain) UITextField *usernameField;
 @property(nonatomic, retain) UITextField *passwordField; 
 @property(nonatomic, retain) NSString *address; 
 @property(nonatomic, retain) NSString *username; 
 @property(nonatomic, retain) NSString *password;
 @end
//.mファイル-最初のビューコントローラCamSetup.m
#import "CamSetup.h"
@interface CamSetup ()
@end
@implementation CamSetup
@synthesize addressField, usernameField, passwordField, address, username, password;
-(IBAction) saveAddress: (id) sender
{
address = [[NSString alloc] initWithFormat:addressField.text];
[addressField setText:address];
NSUserDefaults *stringDefaultAddress = [NSUserDefaults standardUserDefaults];
[stringDefaultAddress setObject:address forKey:@"stringKey1"];
NSLog(@"String [%@]", address);
}
-(IBAction) saveUsername: (id) sender
{
  username = [[NSString alloc] initWithFormat:usernameField.text];
  [usernameField setText:username];
  NSUserDefaults *stringDefaultUsername = [NSUserDefaults standardUserDefaults];
  [stringDefaultUsername setObject:username forKey:@"stringKey2"];
  NSLog(@"String [%@]", username);
}
-(IBAction) savePassword: (id) sender
{
  password = [[NSString alloc] initWithFormat:passwordField.text];
  [passwordField setText:password];
  NSUserDefaults *stringDefaultPassword = [NSUserDefaults standardUserDefaults];
  [stringDefaultPassword setObject:password forKey:@"stringKey3"];
  NSLog(@"String [%@]", password);
}
- (void)viewDidLoad
{   
[addressField setText:[[NSUserDefaults standardUserDefaults] objectForKey:@"stringKey1"]];
[usernameField setText:[[NSUserDefaults standardUserDefaults] objectForKey:@"stringKey2"]];
[passwordField setText:[[NSUserDefaults standardUserDefaults] objectForKey:@"stringKey3"]];
[super viewDidLoad];
}
@end
//.h2番目のビューコントローラーLiveView.h
 #import <UIKit/UIKit.h>
 #import "CamSetup.h"
 @interface LiveView : UIViewController
 {
  NSString *theAddress;
  NSString *theUsername;
  NSString *thePassword;
  CamSetup *camsetup; //here is an instance of the first class
}
@property (nonatomic, retain) NSString *theAddress;
@property (nonatomic, retain) NSString *theUsername;
@property (nonatomic, retain) NSString *thePassword;
@end
//.mセカンドビューLiveView.mファイル
#import "LiveView.h"
@interface LiveView ()
@end
@implementation LiveView
@synthesize theAddress, theUsername, thePassword;
- (void)viewDidLoad
{
  [super viewDidLoad]; 
  theUsername = camsetup.username; //this is probably not right?
  NSLog(@"String [%@]", theUsername); //resut here is NULL
  NSLog(@"String [%@]", camsetup.username); //and here NULL as well
}
@end