سؤال

هل يبدو الرمز الخاص بي صحيحًا؟ أحاول تحميل البيانات في عرض الجدول الخاص بي وعرض فرعي مفصل. طاولتي تعمل بشكل جيد ، لكن البيانات لن يتم تحميلها في عرضي الفرعي

يظهر التحذير تحت هذا الخط

nextController.dataItem = [data objectAtIndex:indexPath];

هنا هو بلدي rootviewController.M

     // Configure the data for the cell.

    NSDictionary *dataItem = [data objectAtIndex:indexPath.row];
    cell.icon = [UIImage imageNamed:[dataItem objectForKey:@"Icon"]];
    cell.publisher = [dataItem objectForKey:@"Publisher"];
    cell.name = [dataItem objectForKey:@"Name"];


    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

    return cell;
}


- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
 NextViewController *nextController = [[NextViewController alloc] initWithNibName:@"NextView" bundle:nil];
 nextController.dataItem = [data objectAtIndex:indexPath];
 [self.navigationController pushViewController:nextController animated:YES];
 [nextController release]; 
}

و My NextViewController.h

    #import <UIKit/UIKit.h>

@interface NextViewController : UIViewController
{
 UILabel *nameLabel;
 UIImageView *iconView;
 NSDictionary *dataItem;
}

@property (nonatomic, retain) IBOutlet UILabel *nameLabel;
@property (nonatomic, retain) IBOutlet UIImageView *iconView;
@property (nonatomic, retain) NSDictionary *dataItem;

@end

يتم تحميله ولكن أحصل على التحذير التالي:

"تحذير: تمرير الوسيطة 1 من" ObjectAtIndex: "يصنع عدد صحيح من المؤشر بدون طاقم

يقول تصحيح الأخطاء

إنهاء التطبيق بسبب الاستثناء غير المطلوب "nsrangeException" ، السبب:

أيه أفكار؟

هل كانت مفيدة؟

المحلول

ما قاله Yannick - "يصنع عدد صحيح من المؤشر بدون طاقم" يعني أنك تستخدم عنوان كائن Nsindexpath (الذي يعد أكثر من عدد الصفوف على طاولتك ، تخيل أن المؤشر يشير إلى 0x03030000 أو شيء من هذا القبيل ) كرقم الصف وليس حقل الصف للكائن.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top