0

私はiPhone開発に不慣れです、指定された形式のような配列で文字列を初期化したいです

-(IBAction)btnSubmit:(UIButton *)sender
{
NSString *phone = phoneNumber.text;
NSLog(@"Phone  :%@",phone);
NSString *TxtUserName = userName.text;
NSString *TxtEmailId = emailId.text;
NSArray *details = [NSArray arrayWithObjects:TxtUserName,TxtEmailId,phone,nil]; 
}

詳細を取得しています:( "xxxxxxx"、"xxxxx@gmail.com"、7675 )

詳細を知りたい :("Name=xxxx","Email=xxxx@gmail.com","Phone=8786")

何か案は?前もって感謝します。

4

12 に答える 12

3

arrayのように初期化します

NSMutableArray *dummyArr = [ [ NSMutableArray alloc] init];

[dummyArr addObject @"Adam"];
[dummyArr addObject @"John"];
于 2013-06-04T12:32:22.333 に答える
0

あなたは以下のようにすることができます...

   dictMut=[[NSMutableDictionary alloc]init];
            [dictMut setObject:@"xxxx" forKey:@"Name"];
            [dictMut setObject:@"xxxx@gmail.com" forKey:@"email"];
            [dictMut setObject:@"8786" forKey:@"phone"];


            NSMutableArray *temp=[NSMutableArray alloc]init];
            [temp addObject:dictMut];

ハッピーコーディング!!!

于 2013-06-04T12:15:35.753 に答える
0

試す:

NSMutableDictionary* dict = [NSMutableDictionary new];

[dict setObject:@"Bob Jones" forKey:@"name"];
[dict setObject:@31337 forKey:@"number"];
[dict setObject:@"Turkey" forKey:@"location"];

または、略記:

NSDictionary dict = @{@"name": @"Bob Jones", @"number": @31337, @"location": @"Turkey"};

/は-派生クラスのみを格納できるため、and@31337の object-c 省略形[NSNumber numberWithInt:31337]が必要です。NSDictionaryNSMutableDictionaryNSObject

最初の例では、空白NSMutableDictionaryを定義してから、それに何かを追加しています。2 番目の例では、いくつかのキーと値を含む一定の不変で変更不可能なディクショナリを作成しています。例1と例2には同じデータが含まれていますが、最初の例から追加/削除できます。

また、NSMutableDictionaryは のサブクラスです。NSDictionaryつまり、 を受け入れる関数に渡すことができますNSDictionary。他の方法でキャストすることはできません。

于 2013-06-04T12:21:16.397 に答える
0

必要なデータの個々のビットを保存できるを使用NSDictionaryできますが、Cocoa および Cocoa Touch フレームワークで非常に重要な MVC 設計パターンに従うこともできます。

MVC デザイン パターンでは、表現しようとしているデータはModelです。そのため、データを使って自明でないことを行う場合は、データを表す 1 つ以上のオブジェクトを作成する必要があります。これは、アプリ内で渡すことができます。適切に使用されます。

次のように宣言されます。

MyModel.h:

@interface MyModel : NSObject

@property (strong, readwrite) NSString *username;
@property (strong, readwrite) NSString *phoneNumber;
@property (strong, readwrite) NSString *emailAddress;

@end

実装ファイル ( ) では、Apple は入力が多すぎると見なしているため、最近ではMyModel.m使用する必要さえありません。@synthesize代わりに、最新の clang コンパイラがバッキング インスタンス変数を自動生成します。これらのプロパティは、単に ではなくmyobject.usernameorを使用して参照することを忘れないでください。self.username_username

次に、データの操作を可能にするメソッドの追加を検討できます。NSDictionaryこのようにして、アプリの重要な部分を再コーディングすることなく、時間の経過とともにモデルを変更できます。そうしないと、固定されたキー名を持つ に依存するため、アプリのメンテナンスが簡素化されます。

于 2013-06-04T12:21:29.490 に答える
0

辞書を使用することは非常に良いオプションですが、ユーザー情報を保存するためのモデル クラスを作成する方が便利です。再利用性を高め、物事をシンプルに保つために、データに対して機能するメソッドを作成できます。

@interface User : NSObject

@property (nonatomic, copy)   NSString *name;
@property (nonatomic, copy)   NSString *emailID;
@property (nonatomic, copy)   NSString *phoneNumber;

- (id)initWithName:(NSString *)name 
           emailID:(NSString *)emailID 
    andPhoneNumber:(NSString *)phoneNumber;

ユーザー インスタンスを作成して値を設定する

-(IBAction)btnSubmit:(UIButton *)sender
{
   User *user = [User new];
   user.name = userName.text;
   user.emailID = emailId.text;
   user.phoneNumber = phoneNumber.text;

   //Use this instance for your work
}
于 2013-06-04T12:17:54.927 に答える
0

このタイプの作業には NSDictionary を使用できます。この2つの方法を使用してそれを行うことができます。

NSDictionary * = [NSDictionary dictionaryWithObjectsAndKeys:userName.text,@"Name",emailId.text,@"Email",phoneNumber.text,@"phone" nil];

または、このようにすることもできます。

NSMutableDictionary *eventData = [NSDictionary dictionaryWithObjectsAndKeys:userName.text,@"Name", nil];
[eventData setObject:emailId.text forKey:@"Email"];
[eventData setObject:phoneNumber.text forKey:@"phone"];
于 2013-06-04T12:19:34.850 に答える
0

最初にデータを NSMutableDictionary に設定します........

Dic=[[NSMutableDictionary alloc]init];
            [Dic setObject:@"xxxx" forKey:@"Name"];
            [Dic setObject:@"xxxx@gmail.com" forKey:@"email"];
            [Dic setObject:@"8786" forKey:@"phone"];

そして、NSMutableDictionary からデータを取得します....

于 2013-06-04T12:28:35.930 に答える