我試圖打印出一個名爲Contact的對象(我寫的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);
所以,我讓我的陣列稱爲「a」和嘗試,並打印出來。那麼,這是行不通的。該計劃只是坐在那裏,並沒有做任何事情。它不會出錯或退出,它從字面上來說只是停止做任何事情。
因此,我打印計數,結果是1.所以顯然有數組中的東西。然後,我從數組中獲取第一個Contact,然後我的控制檯打印出「有聯繫」。
然後,我測試以查看該聯繫人是否爲零。好吧,事實並非如此。
然後,我嘗試打印聯繫人。我的程序停止運行。在控制檯中,我只看到「(gdb)」,沒有任何打印,並且沒有任何東西繼續運行。該計劃只是坐。
這是怎麼回事?我只是打印一個聯繫人(順便說一句,有一個描述方法設置,只打印出一個NSString)。
你是什麼意思與「打印」?你想顯示在屏幕上,控制檯還是通過AirPrint? – EmilioPelaez
這在我的代碼中很明顯。我試圖對該對象做一個NSLog「c」 – CodeGuy
@ reising1當你拿出NSLog(@「contact first name =%@」,[c getFirst]);'?你不會提及它正在打印。 –