2011-08-28 272 views
0

這是屬於頁面基本應用程序的默認代碼。 _pageData基本上需要一個數字並返回一個月。 我想做一些非常簡單的事情,但在Objective C中給我帶來悲傷。我基本上喜歡用字符串聲明一個不可變的數組,而不是用_pageData將數字轉換成一個月,我想用這個數字作爲數組中的索引並返回匹配的字符串。使用索引返回數組元素

我希望它是有道理的。

EDIT(更多的代碼)

@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; 
} 

回答

0

希望這個片段幫助。您可以從靜態字符串創建一個數組,然後索引到其中讀取其中的一個。

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

關於您的月份示例,如果是幾個月要小心將它從靜態字符串數組中取出。對於一個很好的例子,但是對於一個真正的可能被本地化的應用程序來說,最好從日期對象中獲取它。

+0

感謝您的代碼片段,它肯定有幫助,但我現在正在從_pageData = ['dateFormatter monthSymbols]複製]替換'NSString * __ strong' item; –

+0

我們可能需要看到更多的代碼來幫助看看你正在分配的內容 – bryanmac

+0

也許你可以編輯你的問題並編輯一個附加代碼的「Additional Info:」頭文件,它看起來像你試圖分配一個字符串 – bryanmac

相關問題