Возврат элементов массива с использованием индекса - PullRequest
0 голосов
/ 28 августа 2011

Это код по умолчанию, который входит в состав базового приложения._pageData в основном принимает число и возвращает месяц.Я хотел бы сделать что-то довольно простое, но это дает мне горе в Задаче C.В основном я хотел бы объявить неизменный массив со строками, и вместо _pageData, преобразующего число в месяц, я хотел бы использовать это же число в качестве индекса в массиве и вернуть соответствующую строку.

Я надеюсь, что этоимеет смысл.

РЕДАКТИРОВАТЬ (больше кода)

@interface ModelController()
@property (readonly, strong, nonatomic) NSArray *pageData;
@end

@implementation ModelController

@synthesize pageData = _pageData;

- (id)init
{
    self = [super init];
    if (self) {
        // Create the data model.
//        NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
//        _pageData = [[dateFormatter monthSymbols] copy];

        NSArray *items = [NSArray arrayWithObjects:@"one", @"two", @"three", nil];
        NSString *item = [items objectAtIndex:1];
        _pageData = item;


    return self;
}

- (DataViewController *)viewControllerAtIndex:(NSUInteger)index storyboard:(UIStoryboard *)storyboard
{   
    // Return the data view controller for the given index.
    if (([self.pageData count] == 0) || (index >= [self.pageData count])) {
        return nil;
    }

    // Create a new view controller and pass suitable data.
    DataViewController *dataViewController = [storyboard instantiateViewControllerWithIdentifier:@"DataViewController"];

    dataViewController.dataObject = [self.pageData objectAtIndex:index];
    return dataViewController;
}

1 Ответ

0 голосов
/ 28 августа 2011

надеюсь, этот фрагмент поможет.Вы можете создать массив из статических строк, а затем индексировать их, чтобы прочитать одну из них.

NSArray *items = [NSArray arrayWithObjects:@"one", @"two", @"three", nil];
NSString *item = [items objectAtIndex:1];
NSLog(@"item=%@", item);

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

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