簡體   English   中英

為什么會看到錯誤“格式不是字符串文字且沒有格式參數”?

[英]Why am I seeing the error “Format is not a string literal and no format arguments”?

我正在iphone中創建音樂應用程序,在其中將twitter集成到iphone中,以便用戶可以收聽特定歌曲,單擊twitter選項卡,登錄到twitter並將其評論發布到twitter.and我需要他的用戶名當他單擊“保存用戶名和密碼”按鈕時,應該保存密碼和密碼,以便他在應用程序中時保持登錄狀態。

我已經完成了保存用戶名和密碼的代碼,但是收到一條錯誤消息,指出““ FORMAT不是字符串文字,沒有格式參數””

這是我的代碼:

-(IBAction)SaveAll:(id)sender{


    UsernameString =[[NSString alloc]initWithFormat:text1.text]; "FORMAT IS NOT A STRING LITERAL AND NO FORMAT ARGUMENTS"

    [text1 setText:UsernameString];
    NSUserDefaults *UsernameDefault =[NSUserDefaults standardUserDefaults];
    [UsernameDefault setObject:UsernameString forKey:@"Stringkey"];



    PasswordString =[[NSString alloc]initWithFormat:text2.text]; "FORMAT IS NOT A STRING LITERAL AND NO FORMAT ARGUMENTS"

    [text2 setText:PasswordString];
    NSUserDefaults *PasswordDefault =[NSUserDefaults standardUserDefaults];
    [PasswordDefault setObject:PasswordString forKey:@"Stringkey2"];

}

請幫助我解決此問題,以便當我單擊用戶名和密碼按鈕時,應保存我的用戶名和密碼。

如果要創建由多個組件組成的字符串(例如,例如字符串和整數),請使用InitWithFormat,然后執行以下操作

NSString *myString = [NSString stringWithFormat:@"%@ costs %i"itemName, itemprice];

itemName將是一個NSString對象,itemprice將是一個整數。

根據您的情況,請嘗試通過以下方式進行操作:

UsernameString =[[NSString alloc]initWithString:text1.text];

甚至更容易

UsernameString = text1.text;

注意:我不建議將密碼或任何其他敏感信息存儲到用戶默認值中,更好的(更安全/更安全的方式)存儲密碼是使用設備鑰匙串,其中存儲的信息被高度加密並且訪問以安全的方式進行。

也很容易使用:

簡單的iPhone教程:使用SFHFKeychainUtils使用鑰匙串進行密碼管理

希望能有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM