使用索引返回数组元素

时间:2011-08-28 11:42:28

标签: objective-c

这是页面基础应用程序的默认代码。 _pageData基本上取一个数字并返回一个月。 我想做一些非常简单的事情但是让我对Objective 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 :(得分:0)

希望这段代码有所帮助。您可以从静态字符串创建一个数组,然后编入索引以读取其中一个数组。

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

关于你的月份例子,如果几个月要小心从一系列静态字符串中取出它。对于一个很好但是对于可以进行本地化的真实应用程序的示例,最好从日期对象中获取它。