2010-10-05 57 views
2

所以,我正在调试我正在构建的应用程序,并使用描述方法来帮助我找到问题。但不是将该应用作为字符串提供给我,而是打印出括号。请帮忙!NSObject的'描述'方法将括号作为输出?

下面的代码:

- (void)viewDidLoad { 
[super viewDidLoad]; 

reminders = [[NSMutableArray alloc] init]; 
currentTitle = [[NSMutableString alloc] init]; 
currentDate = [[NSMutableString alloc] init]; 
currentSummary = [[ 
       NSMutableString alloc] init]; 
currentLink = [[NSMutableString alloc] init]; 

NSLog(@"IT'S HERE %@", [reminders description]);} 

...

和错误:

[Session started at 2010-10-04 22:15:16 -0400.] 
2010-10-04 22:15:17.434 Reminders[5824:207] ******* Accessibility Status Changed: On 
2010-10-04 22:15:17.464 Reminders[5824:207] ********** Loading AX for: com.yourcompany.Reminders ************ 
2010-10-04 22:15:17.506 Reminders[5824:207] IT'S HERE (
) 
2010-10-04 22:15:17.510 Reminders[5824:207] Hello 
2010-10-04 22:15:17.512 Reminders[5824:207] (
) 
2010-10-04 22:15:17.514 Reminders[5824:207] PVC: <UITableView: 0x602d600; frame = (0 20; 320 460); clipsToBounds = YES; opaque = NO; autoresize = W+H; layer = <CALayer: 0x5f3f3b0>; contentOffset: {0, 0}> 
2010-10-04 22:15:17.514 Reminders[5824:207] It's here 
2010-10-04 22:15:17.515 Reminders[5824:207] Loaded 
2010-10-04 22:15:17.520 Reminders[5824:207] -[__NSCFArray name]: unrecognized selector sent to instance 0x6a4b640 
2010-10-04 22:15:17.523 Reminders[5824:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFArray name]: unrecognized selector sent to instance 0x6a4b640' 
*** Call stack at first throw: 
(
    0 CoreFoundation      0x0248bb99 __exceptionPreprocess + 185 
    1 libobjc.A.dylib      0x025db40e objc_exception_throw + 47 
    2 CoreFoundation      0x0248d6ab -[NSObject(NSObject) doesNotRecognizeSelector:] + 187 
    3 CoreFoundation      0x023fd2b6 ___forwarding___ + 966 
    4 CoreFoundation      0x023fce72 _CF_forwarding_prep_0 + 50 
    5 Reminders       0x00003aa9 -[RootViewController tableView:cellForRowAtIndexPath:] + 300 
    6 UIKit        0x00090d6f -[UITableView(UITableViewInternal) _createPreparedCellForGlobalRow:withIndexPath:] + 619 
    7 UIKit        0x00086e02 -[UITableView(UITableViewInternal) _createPreparedCellForGlobalRow:] + 75 
    8 UIKit        0x0009b774 -[UITableView(_UITableViewPrivate) _updateVisibleCellsNow:] + 1561 
    9 UIKit        0x000937ec -[UITableView layoutSubviews] + 242 
    10 QuartzCore       0x03f60481 -[CALayer layoutSublayers] + 177 
    11 QuartzCore       0x03f601b1 CALayerLayoutIfNeeded + 220 
    12 QuartzCore       0x03f592e0 _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 302 
    13 QuartzCore       0x03f59040 _ZN2CA11Transaction6commitEv + 292 
    14 UIKit        0x0002204e -[UIApplication _reportAppLaunchFinished] + 39 
    15 UIKit        0x00022477 -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 545 
    16 UIKit        0x0002c3ec -[UIApplication handleEvent:withNewEvent:] + 1958 
    17 UIKit        0x00024b3c -[UIApplication sendEvent:] + 71 
    18 UIKit        0x000299bf _UIApplicationHandleEvent + 7672 
    19 GraphicsServices     0x026fa822 PurpleEventCallback + 1550 
    20 CoreFoundation      0x0246cff4 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 52 
    21 CoreFoundation      0x023cd807 __CFRunLoopDoSource1 + 215 
    22 CoreFoundation      0x023caa93 __CFRunLoopRun + 979 
    23 CoreFoundation      0x023ca350 CFRunLoopRunSpecific + 208 
    24 CoreFoundation      0x023ca271 CFRunLoopRunInMode + 97 
    25 UIKit        0x00021c6d -[UIApplication _run] + 625 
    26 UIKit        0x0002daf2 UIApplicationMain + 1160 
    27 Reminders       0x00002078 main + 102 
    28 Reminders       0x00002009 start + 53 
) 
terminate called after throwing an instance of 'NSException' 

这里有你要的fluchtpunkt

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
    static NSString *CellIdentifier = @"cell"; 

    cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) { 
     cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease]; 
    } 

    // Configure the cell. 

    Reminder *theReminder = [reminders objectAtIndex:indexPath.row]; 

    cell.textLabel.text = theReminder.name; 

    return cell; 

    } 
+0

请加'的NSLog(@ “%@”,提醒);'前'提醒* theReminder = [提醒objectAtIndex :indexPath.row];'我想在提醒数组中有更多的NSArrays – 2010-10-05 03:26:44

回答

1

这些括号的方法是o utput我期望如果我NSLog一个空数组。
这是绝对正确的。


将引发异常,因为你试图调用上的NS(可变)数组一个name方法。数组不响应名称。

为了找到这个异常的原因张贴此方法的代码在你的RootViewController的

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath