繁体   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