2010-12-24 8 views
-1

私は、ユーザー名用とパスワード用の2つの配列を持つプログラムを作成しています。私はユーザーがテキストボックスに入力する文字列を配列に追加しようとしています。代わりに、プログラムは文字列を1回だけ追加します。これをどうやって解決するのですか?Objective-Cの配列に変数を追加する方法は?

私はNSMutableArrayを使用しています。私のコードは次のとおりです。

NSString *usrname = [NSString stringWithFormat:@"%d", usrString]; 
[usrs addObject:usrname]; 

このコードは一度文字列が追加されますが、私は、文字列を変更し、再度ボタンを押すと、それが2番目の文字列を追加しません。 .hファイルには、あなたがた.hと.mファイルのファイルに以下のコードを記述する必要が提供する情報をもとに

+1

試したコードを投稿してください(質問に追加してください)。 – Anna

+1

NSArrayまたはC配列を使用していますか? – BoltClock

+1

したがって、 'usrString'は整数であり、文字列ではありませんか?あなたのコードをもっと表示する必要があると思います。 – JWWalker

答えて

-1

こんにちは

IBOutlet UITextFiled *userNameTextField,*PasswordTextField; 
IBOutlet UIButton *loginButton; 
NSMutableArray *usrs,*passwords; 


-(IBAction)loginButtonClick; 


In .m file 

-(void)viewDidLoad 
{ 

usrs=[[NSMutableArray alloc]init]; 
passwords=[[NSmutableArray alloc]init]; 

} 

-(IBAction)loginButtonClick 
{ 


NSString *userstr=[[NSString alloc]initWithFormat:@"%@",userNameTextField.text]; 
NSString *passwordstr=[[NSString alloc]initWithFormat:@"%@",PasswordTextField.text]; 


[usrs addObject:userstr]; 
[passwords addobject:passwordstr]; 

} 

私はあなたにこの意志は役に立ち願っています。今すぐデータが配列に追加されますが、アプリケーションを閉じるか、ログインページから別のページに移動すると配列はクリアになります。データを永続的に保存するには、plistまたはsqliteを使用する必要があります。

1

誤って固定容量の配列を([[NSMutableArray alloc] initWithCapacity: arrayCapacity])で設定していないことをコードで確認してください。

容量を持たない初期化(NSMutableArray *array = [[NSMutableArray alloc] init];)だけで、使用可能なメモリが増えます。

関連する問題