У меня есть класс (USER), который имеет следующие свойства (имя NSString, адрес NSString, теги NSMutableArray). Свойство tags является NSMutableArray из (TAG) - TAG является классом, определенным как (NSNumber tagId, NSString tagName).
Я пробовал несколько разных способов доступа к tagName и tagId, но безуспешно.
Пример кода 1 ниже:
Tag *tag = [[Tag alloc] init];
for(NSInteger n = 0; n < [thisSpotTag count]; n++)
{
NSLog(@"%@", [thisSpotTag objectAtIndex:n]);
}
Пример кода 2 ниже:
NSEnumerator *enumerator = [thisSpotTag objectEnumerator];
NSString *tname = nil;
while((tname = [enumerator nextObject]))
{
NSLog(@"%@", tname);
}
В обоих примерах я получаю адрес памяти тега, но не значение tagName и tagId.
Как мне получить доступ к этой информации?
PS - я использую xCode 4.2 с ARC.
Обновление моего вопроса ниже:
Я вернулся и попробовал несколько из предложенных ниже исправлений, однако я все еще не могу получить данные из массива. Помните, у меня есть массив объектов, в котором каждый объект содержит массив объектов.
У меня есть этот код, например:
NSEnumerator *enumerator = [thisUser.tags objectEnumerator];
Tag *tagObj = [[Tag alloc] init];
while(tagObj = [enumerator nextObject])
{
NSLog(@"enumerated tag id:%@ name:%@", tagObj.tid, tagObj.name);
}
Я никогда не попаду в цикл while в приведенном выше коде ...
thisUser.tag - это объект TAG для части объекта USER. Возможно, указание того, как выглядит массив, поможет объяснить вложение.
NSMutableArray( "this is an NSMutableArray of USER objects"
element 0 => USER Object 1
USER.name is an NSString
USER.address is an NSString
USER.tag "this is an NSMutableArray of TAG objects"
element 0 => TAG Object 1
TAG.tagId is an NSNumber
TAG.tagName is an NSString
element 1 => TAG Object 2
...etc...
element 1 => USER Object 2
...etc...