私は連絡先(NSObjectの拡張版)と呼ばれるオブジェクトを印刷しようとしています。私のアプリ最初の起動は、私は次のコードを持っている場合はオブジェクトを印刷する - iPhoneアプリケーション
:
NSMutableArray *arr = [UserData getGroupNames];
NSLog(@"group names are %@",arr);
for(int i = 0; i < [arr count]; i++) {
NSString *name = [arr objectAtIndex:i];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSData *data = [defaults objectForKey:name];
NSArray *a = [NSKeyedUnarchiver unarchiveObjectWithData:data];
NSLog(@"name = %@",name);
NSLog(@"array count is %i",[a count]);
for(int i = 0; i < [a count]; i++) {
NSLog(@"on index %i",i);
Contact *c = [a objectAtIndex:i];
NSLog(@"got contact");
if(c == nil)
NSLog(@"it's nil!");
NSLog(@"contact first name = %@",[c getFirst]);
NSLog(@"got contact %@",c);
だから、私はと呼ばれる私の配列を取得「」と試してみて、それをプリントアウト。それはうまくいきません。プログラムはそこに座って何もしません。それはエラーを出さない、または出ることはありません。文字通り何かをやめるだけです。
私は数を表示し、それは1になることが分かりました。明らかに配列には何かがあります。それでは、私はアレイから最初のContactをつかんで、私のコンソールは "連絡が取れました"というメッセージを表示します。
次に、その接触がゼロであるかどうかを調べるためにテストします。まあ、そうではありません。
次に、私は連絡先を印刷しようとします。私のプログラムは動作を停止します。コンソールで私は "(gdb)"と表示され、何も表示されず、何も実行されません。プログラムはちょうど座っている。
何が起こっていますか?私はちょうど連絡先を印刷しています(ところで、NSStringを印刷するだけの記述方法が設定されています)。
「印刷」とはどういう意味ですか?画面、コンソール、またはAirPrintで表示しますか? – EmilioPelaez
それは私のコードで明らかです。私はそのオブジェクト "c"でNSLogを実行しようとしています – CodeGuy
@ reising1 NSLog(@ "contact first name =%@"、[c getFirst]);あなたはそれが印刷されているとは言いません。 –