У меня есть набор файлов Objective-C в моем приложении с надписью Crop.h/Crop.m. Внутри находится пользовательский массив различных овощей из видеоигры - каждый овощ имеет свойства, такие как имя, вегетационный период, количество дней для роста и т. Д.Как вернуть пользовательский объект Objective-C из метода класса?
Мне нужно написать функцию, которая проходит через этот массив и проверяет каждый Значение имени урожая, чтобы увидеть, совпадает ли оно с моим заголовком (self.title). Ниже приведен пример двух объектов культур:
Crop *turnip = [[Crop alloc] init];
[turnip setName:@"Turnip"];
[turnip setSeason:@"Spring"];
[turnip setBagPrice:120];
[turnip setSaleValue:60];
[turnip setDaysToGrow:5];
[turnip setRenewableDays:0];
Crop *potato = [[Crop alloc] init];
[potato setName:@"Potato"];
[potato setSeason:@"Spring"];
[potato setBagPrice:150];
[potato setSaleValue:80];
[potato setDaysToGrow:8];
[potato setRenewableDays:0];
Тогда то, что я имею в виду называет новую функцию класса под названием returnCropData: который принимает self.title в качестве параметра. Я просто не уверен, что это мой лучший метод ... Я был бы признателен за любые предложения от разработчиков iOS.
Вот простой метод класса, который у меня есть, пока нет данных, поскольку я все еще пытаюсь выяснить, какой цикл будет лучше. Я также изо всех сил, чтобы выяснить синтаксис, чтобы добавить параметр NSString на функцию
+ (Crop *)returnCropData
{
Crop *turnip = [[Crop alloc] init];
[turnip setName:@"Turnip"];
[turnip setSeason:@"Spring"];
[turnip setBagPrice:120];
[turnip setSaleValue:60];
[turnip setDaysToGrow:5];
[turnip setRenewableDays:0];
// more crops here....
NSMutableArray *cropListing = [[NSMutableArray alloc] init];
[cropListing addObject:turnip];
[cropListing addObject:potato];
// add the other crops here...
return potato;
// return any Crop value for now
}
Ваш вопрос не очень ясен ... Вы просите о том, как создать функцию, которая возвращает определенный объект Crop на основе строки, которую вы передаете? – MechEthan
@yAak да совершенно! Так, например, перейдите в строку «Картофель», и эта функция вернет весь объект Crop картофеля. Согласование будет против свойства 'name' урожая (созданного с помощью 'setName'). Я знаю, что это немного запутанно. Пожалуйста, дайте мне знать, если что-то конкретное, я могу уточнить в деталях. – Jake