سؤال

شفرة:

[self.menuList addObject:[NSDictionary dictionaryWithObjectsAndKeys:
                                       NSLocalizedString(@"PropertySubtype2fTitle", @""), 
                                       kTitleKey,
                                       publishNoOfRoomsViewController, 
                                       kViewControllerKey, nil]];

Menulist هو nsmutablearray.

أرغب في قراءة سلسلة propertysubtype2ftitle المترجمة لاحقًا في الكود ، مثل في:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
هل كانت مفيدة؟

المحلول

لجلب إدخال من NSDictionary ، يمكنك استخدام

[NSDictionary objectForKey:(id)keyValue]
. لإحضار إدخال من nsarray / nsmutablearray ، يمكنك استخدام
[NSArray objectAtIndex:(NSUInteger)index]
. مجتمعة وتطبيق على مثالك الذي يجب أن يكون:
NSString *title = [[menuList objectAtIndex:index] objectForKey:kTitleKey];
في حين أن الفهرس سيكون عددًا صحيحًا غير موقّع (nsuinteger).

نصائح أخرى

لماذا لا تستخدم مباشرة NSMutableDictionary?

علي سبيل المثال:

NSData *getData = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:strURL]];
NSError *errorData;
NSMutableDictionary *dicData = [NSJSONSerialization
                                     JSONObjectWithData:getData
                                     options:NSJSONReadingMutableContainers
                                     error:&errorData];

if( errorData )
{
    NSLog(@"%@", [errorData localizedDescription]);
}
else {

    NSString *title =   [[dicData[@"items"] objectAtIndex:1] objectForKey:@"titlekey"];
    NSLog(@"titlekey %@",title);
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top