テーブルビューで使用するアイテムのリストを提供するために ItemController を使用しています。ただし、コントローラーにデータを入力できないようですが、その理由はわかりません。
コントローラー クラスのコードは次のとおりです。
.h
#import <Foundation/Foundation.h>
@class Item;
@interface ItemController : NSObject
@property (nonatomic, copy) NSMutableArray *items;
- (NSUInteger)countOfList;
- (Item*)objectInListAtIndex:(NSUInteger)theIndex;
- (void)addItem:(Item *)item;
@end
.m
#import "ItemController.h"
#import "Item.h"
@interface ItemController ()
@end
@implementation ItemController
- (NSUInteger)countOfList {
return [self.items count];
}
- (Item *)objectInListAtIndex:(NSUInteger)theIndex {
return [self.items objectAtIndex:theIndex];
}
- (void)addItem:(Item *)item {
[self.items addObject:item];
}
@end
Item.m
@implementation Item
-(id)initWithName:(NSString *)name{
self = [super init];
if (self) {
_name = name;
return self;
}
return nil;
}
@end
次のコードを使用してリストを作成しています。
ItemController* controller = [[ItemController alloc] init];
for (NSString* key in raw_data) {
NSLog(key); // This outputs the keys fine
[controller addItem:[[Item alloc] initWithName:key]];
}
NSLog([NSString stringWithFormat:@"%d",[controller countOfList]]); // Always 0