2010-07-26 3 views
1

Je crée une application musicale sur iphone où j'intègre twitter dans mon iphone pour qu'un utilisateur puisse écouter une chanson particulière, cliquez sur l'onglet twitter, connectez-vous à twitter et postez son commentaire sur twitter.and j'ai besoin de ça son nom d'utilisateur et son mot de passe doivent être sauvegardés quand il clique sur le bouton sauvegarder le nom d'utilisateur et le mot de passe pour qu'il reste connecté quand il est dans l'application.Pourquoi est-ce que je vois l'erreur "Format n'est pas un littéral de chaîne et aucun argument de format"?

je l'ai fait le code de sauver le nom d'utilisateur et mot de passe mais je reçois une erreur indiquant que « » FORMAT EST PAS UNE CHAÎNE LITERAL ET NON ARGUMENTS FORMAT « »

Voici mon code:

-(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"]; 

} 

S'il vous plaît aidez-moi à résoudre ce problème de sorte que lorsque je clique sur le nom d'utilisateur et mot de passe, mon nom d'utilisateur et mot de passe doivent être enregistrés.

Répondre

1

Utilisez initWithFormat si vous voulez créer une chaîne qui est composé de plusieurs éléments, comme une chaîne et un entier par exemple, vous serait alors quelque chose comme ça

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

itemName serait un objet NSString, ItemPrice serait un nombre entier.

dans votre cas, essayez de le faire de la façon suivante:

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

ou encore plus facile

UsernameString = text1.text; 

Note: Je recommande de ne pas stocker les mots de passe ou toute autre information sensible dans userdefaults un meilleur (plus sûr/sécurisé) pour stocker les mots de passe est d'utiliser le trousseau de dispositifs, où les informations stockées sont fortement cryptées et l'accès se passe de manière sûre.

aussi facile à utiliser:

Simple iPhone Tutorial: Password Management using the keychain by using SFHFKeychainUtils

espoir qui aide.

Questions connexes