2010-07-23 3 views
1

У меня возникли проблемы с доступом к тому, что, по моему мнению, должно быть в моем массиве. Я получаю результаты от веб-службы и пытаюсь понять их.NSMutableArray - проблема с доступом к массиву 2D

Служба возвращает NSMutableArray, называемую GroupOfHouses.

Я настроил свой код, чтобы установить массив как такой

NSMutableArray *myHousesGroup; 

Затем заполнить его

myHousesGroup = result 
NSLog(@"Result = %@", result); 
NSLog(@"Array Count: %d",[myHousesGroup count]); 

Таким образом, вышеуказанные выходы

2010-07-23 23:03:33.628 demo4[40880:207] Result = (
    <GroupOfHouses: 0x4c2f410>, 
    <GroupOfHouses: 0x4c303b0> 
) 
2010-07-23 23:03:33.631 demo4[40880:207] Array Count: 2 

Я хочу посмотреть, что внутри NSMutableArray, который, кажется, находится внутри массива результатов. Я исхожу из PHP-фона, поэтому структура массива знакома, но не метод доступа! Я пробовал NSLog(@"Array Count: %d",[myHousesGroup[0] count]);, но это не сработало.

Как настроить новые массивы на основе количества результатов? В основном, результат веб-службы может вернуть 10 массивов информации о доме.

Благодарим за любую информацию.

ответ

0

Вы получаете доступ к первому элементу с:

[myHousesGroup objectAtIndex:0] 

Вы создаете новый массив с

NSMutableArray* list = [[NSMutableArray alloc] init]; 

Вы добавить с:

[list addObject:o]; // where o is an object you want in the array 

Вы получаете счет с

[list count]; 

http://developer.apple.com/mac/library/documentation/Cocoa/Reference/Foundation/Classes/NSMutableArray_Class/Reference/Reference.html

0

Я совершенно новый для этого, исходя из фона веб-разработчика. Я не уверен на 100%, это лучшее направление, но это хорошее место для начала.

За последние пару дней я был в аналогичной позиции, пытаясь понять NSMutableArrays.

Похоже, что из вашего кода, что «результат» имеет некоторую структуру, которая автоматически преобразуется в массив myHousesGroup как объект.

С помощью coredata я разработал это, чтобы получить значения из массивов, которые состоят из объектов, которые вам нужны, чтобы создать новый и заполнить объект той же структуры, что и объект, являющийся элементом массива что вам нужно получить значения из.

Вдоль линии:

Recipes *selectedRecipe = [entityArray objectAtIndex:indexPath.row ]; 
//Recipes is a class. 
//selectedRecipe is an instance of the class Recipes which has the structure I need to get values out of 
//entityArray is my NSMutableArray similar to your 'myHousesGroup' 
recepeTitle.text = selectedRecipe.RecipieName; 
//recipeTitle.text is a label displaying a value from my object 
cookingTime.text = selectedRecipe.CoookingTime; 
//I think you can see the pattern now 

Чтобы получить верхние границы (количество элементов) массива можно попробовать (используя пример)

NSLog(@"myHousesGroup Array Count: %i",[myHousesGroup count]); 

Я не уверен, если я могу помочь с созданием массивов на основе количества результатов. Возможно, вам понадобится немного больше необходимой логики. Вы читаете значения из webservice и заполняете массивы на основе значений и т. Д.? Каков конечный результат этой части кода в вашем приложении?

Спросите меня, если вам нужна информация о классе Рецепты и как он построен, какие свойства присутствуют

Надеются, что это помогает немного

Смежные вопросы