2012-02-24 3 views
0

私はxCodeでプログラミングしようとしていますが、それは私にとっては新しいものです。私はios 5のためのシンプルなwebviewアプリケーションを書く必要があります。私のアプリケーションは、毎回設定で定義されたurlを開く必要があります。私は、Xcodeプロジェクトを作成し、それにsettings.bundleを追加します。xcodeのsettings.bundleからurlをロードするには4.2

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<dict> 
    <key>PreferenceSpecifiers</key> 
    <array> 
     <dict> 
      <key>DefaultValue</key> 
      <string>http://192.168.0.4/portal.aspx</string> 
      <key>Key</key> 
      <string>serverName</string> 
      <key>KeyboardType</key> 
      <string>Alphabet</string> 
      <key>Title</key> 
      <string>Server</string> 
      <key>Type</key> 
      <string>PSTextFieldSpecifier</string> 
     </dict> 
    </array> 
    <key>StringsTable</key> 
    <string>Root</string> 
</dict> 
</plist> 

マイコード:

(void)viewDidLoad 
{ 
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 

    server = [defaults objectForKey:@"serverName"];  
    if(server==nil) 
     [email protected]"http://google.com";  

    [super viewDidLoad]; 

    [proView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString: server]]]; 
    proView.scalesPageToFit= YES; 
} 

を私のアプリは常にGoogleのページを開始します。なぜサーバは無名ですか?サーバーにはデフォルト値が必要ですか?なにが問題ですか?

答えて

0

私が理解しているように、デフォルトを手動で設定する必要があります。そうでない場合はnullになります。試してみてください:

-(void)viewDidLoad { 

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 

NSString *server = [defaults objectForKey:@"serverName"]; 
NSLog(@"%@", server); // <-- should print null 

//If the default value is null, set a value 
if(server==nil) { 
[defaults setObject:@"http://192.168.0.4/portal.aspx" forKey:@"serverName"]; 
//change your string to reflect the changes. 
server = [defaults ObjectForKey:@"serverName"]; 
NSLog(@"%@", server); // <-- should print your URL 
} 

[defaults synchronize]; //Saves defaults. 

[super viewDidLoad]; 

[proView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString: server]]]; 
proView.scalesPageToFit= YES; 

} 
関連する問題