сравнение атрибута объекта в одном массиве с атрибутом объекта в другом массиве - PullRequest
0 голосов
/ 19 июля 2009

У меня, кажется, возникают трудности с доступом и сравнением объектов в NSMutableArrays в задаче c. Я очень новичок, поэтому, объясняя, немного кода было бы хорошо. У меня есть класс персонажей и класс персонажей. Код выглядит так:

@implementation character

@synthesize IDE, name;

- (void) dealloc {
    [text release];
    [super dealloc];
}

@implementation characterfound

@synthesize IDE;

- (void) dealloc {
    [text release];
    [super dealloc];
}

У меня есть два массива, которые заполняются именами и идентификаторами. Если я хочу сравнить только идентификаторы для создания нового массива или сделать что-то еще с ним. Как мне это сделать.

например

**character[]**
name :joe smith
IDE: ik321

name :james smith
IDE: ik32a

**characterfound[]**

IDE:2343k
IDE:ik32a 

поэтому, когда я сравниваю их, идентификатор будет найден, и я могу поместить имя в другой массив. Или выведите его ..

Я постараюсь перефразировать мой вопрос и быть более конкретным, спасибо за ответ, кстати. У меня есть два класса класс персонажа @interface character : NSObject { // attributes NSInteger type; NSInteger rep1, rep2, rep3, rep4, rep5; NSString *name; NSString *IDE;</p> <p>} и класс персонажа

@interface characterfound : NSObject { // attributes //NSInteger IDE; NSInteger type; NSString *IDE;</p> <p>}

Когда я анализирую XML-файл, он встречает разные теги и т. Д. И соответственно заполняет мой класс символов

например

также есть какой-то другой xml в найденном символе, например:

поэтому мой первый массив будет заполнен символьным объектом, включая его атрибуты и второй массив найденный символ будет так же. символьный массив = [character1 name = "johnson" id = "jfja33", character2 name = "smith" id = "sdfae23"]

characterfoundarray [characterfound ide = "jfja33, characterfound2 ide =" jap234 "]; Поэтому мои массивы заполняются объектами и их атрибутами, и я хотел бы сравнить атрибуты (если это возможно) и создать вывод.

1 Ответ

0 голосов
/ 20 июля 2009

Если поиск символьных объектов по идентификатору является обычной операцией, вы должны создать отображение из идентификаторов в символьные объекты, и в этот момент поиск из вашего второго массива будет тривиальным:

NSMutableDictionary* charactersById = [NSMutableDictionary dictionary];
for (Character* character in characters) {
    [charactersById setObject:character forKey:[character IDE]];
}

(Обратите внимание, что я сделал ваш класс заглавными для примера кода; вы должны сделать то же самое в своем коде, так как написание кода, игнорирующего стандартные языковые соглашения, - плохая идея на любом языке; это значительно снижает читабельность ваш код.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...