NSArray ObjectAtIndex: 0 - الحصول على الاعتماد؟
-
05-07-2019 - |
سؤال
ولدي 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
.