سؤال

ولدي NSArray أن أمرر في خلال طريقة المفوض:

- (void)didFinishParsing:(NSArray *)array {
    [self.myArray addObjectsFromArray:array];
    NSLog(@"%@", self.myArray);
    [self.tableView reloadData];
}

وهناك كائن واحد فقط في array وأود الصف tableView العد يساوي كمية من الكائنات في array objectAtIndex:0، ولكن لا أستطيع الحصول على العد. لقد حاولت:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return [[self.myArray objextAtIndex:0] count];
}

وكيف يمكنني الحصول على رقم العقار داخل أول كائن (والوحيد) في بلدي مصفوفة؟

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

المحلول

لحساب مجموعة في الفهرس 0 من self.myArray تركيب الخاص بك هو الصحيح. هو الإعداد متغير array بك كيف انت تظن انها غير؟

ووaddObjectsFromArray: استدعاء الأسلوب سوف تضيف محتويات array إلى نهاية self.myArray.

وهكذا وبعبارة أخرى: [array objectAtIndex:0] ستصبح [self.myArray lastObject:]

إذا كنت تواجه مشكلة في تشغيل count: على [self.myArray objectAtIndex:0] أو [self.myArray lastObject] ثم الكائن الذي تحاول الاعتماد قد nil، فارغة، وليس NSArray / مجموعة كما كنت تتوقع أن يكون.

نصائح أخرى

إذا كنت تحاول إنشاء مجموعة ضمن مجموعة يجب عليك بدلا من استخدام

[self.myArray addObject: array];

وهذا سيضيف مجموعة في مؤشر المقبل داخل self.myArray. ما كنت تفعل سابقا مع

[self.myArray addObjectsFromArray:array];

وكان إضافة محتويات array إلى self.myArray لا تضيف array نفسها إلى self.myArray.

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