さて、現在の状況です。PlaylistController と呼ばれる UIViewController (整頓のためのカスタム クラス) があります。このコントローラーは、UITableViewDelegate および UITableViewDataSource プロトコルを実装し、UITableView に NSMutableArray からのいくつかの基本情報を大雑把に入力します。
PlaylistController.h:
@interface PlaylistController : UIViewController <UITableViewDelegate, UITableViewDataSource> {
@public NSMutableArray* _playlists;
@public NSMutableArray* _tracks;
}
@property (nonatomic, strong) IBOutlet UITableView *tableView;
PlaylistController.m:
- (void)viewDidLoad
{
[super viewDidLoad];
tableView.delegate = self;
tableView.dataSource = self;
_playlists = [[NSMutableArray alloc] initWithObjects:@"Heyy", @"You ok?", nil];
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)aTableView {
return 1;
}
- (NSInteger)tableView:(UITableView *)aTableView numberOfRowsInSection:(NSInteger)section {
return [_playlists count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"CellIdentifier";
// Dequeue or create a cell of the appropriate type.
UITableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
}
cell.textLabel.text = [NSString stringWithFormat:@"%@", [_playlists objectAtIndex:indexPath.row]];
return cell;
}
適切なタブをクリックして UIViewController を表示すると、すべてが読み込まれます。私の問題は、新しいデータが利用可能になったときにデータソースを変更することです。
新しいデータが別のクラスからのものであることを考慮して、データソースを更新するにはどうすればよいですか? シングルトン?