Может ли кто-нибудь сказать мне, почему мой код не показывает никаких результатов в моем представлении таблицы. Вот мой код. Я уже пытался изменить @ "@" на indexPath.row без везения. Я ищу любой ответ в правильном направлении. Я довольно новичок в xcode и объективном-c. Я бы очень признателен за любую помощь.Array не отображается в виде таблицы
-(void)waitAndFillPlaylistPool {
// arrPlaylist -> mutablearray which stores the value of loaded playlist in order to use it later
[SPAsyncLoading waitUntilLoaded:[SPSession sharedSession] timeout:kSPAsyncLoadingDefaultTimeout then:^(NSArray *loadedession, NSArray *notLoadedSession)
{
// The session is logged in and loaded — now wait for the userPlaylists to load.
NSLog(@"[%@ %@]: %@", NSStringFromClass([self class]), NSStringFromSelector(_cmd), @"Session loaded.");
[SPAsyncLoading waitUntilLoaded:[SPSession sharedSession].userPlaylists timeout:kSPAsyncLoadingDefaultTimeout then:^(NSArray *loadedContainers, NSArray *notLoadedContainers)
{
// User playlists are loaded — wait for playlists to load their metadata.
NSLog(@"[%@ %@]: %@", NSStringFromClass([self class]), NSStringFromSelector(_cmd), @"Container loaded.");
NSMutableArray *playlists = [NSMutableArray array];
[playlists addObject:[SPSession sharedSession].starredPlaylist];
[playlists addObject:[SPSession sharedSession].inboxPlaylist];
[playlists addObjectsFromArray:[SPSession sharedSession].userPlaylists.flattenedPlaylists];
[SPAsyncLoading waitUntilLoaded:playlists timeout:kSPAsyncLoadingDefaultTimeout then:^(NSArray *loadedPlaylists, NSArray *notLoadedPlaylists)
{
// All of our playlists have loaded their metadata — wait for all tracks to load their metadata.
NSLog(@"[%@ %@]: %@ of %@ playlists loaded.", NSStringFromClass([self class]), NSStringFromSelector(_cmd),
[NSNumber numberWithInteger:loadedPlaylists.count], [NSNumber numberWithInteger:loadedPlaylists.count + notLoadedPlaylists.count]);
NSLog(@"loadedPlaylists >> %@",loadedPlaylists);
arrPlaylist = [[NSMutableArray alloc] initWithArray:loadedPlaylists];
NSLog(@"arrPlaylist >> %@",arrPlaylist);
}];
}];
}];
}
- (NSInteger) tableView:(UITableView *) tableView numberOfRowsInSection:(NSInteger)section {
return [arrPlaylist count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
cell.textLabel.text = [arrPlaylist objectAtIndex:indexPath.row];
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
return cell;
}
Вы уверены, что ваш код работает успешно, без сбоев на [arrPlaylist objectAtIndex: @ "% @"]; эта линия? – Tirth
Где код перезагрузки UITableView после загрузки всех данных массива? Вы уверены, что правильно настроили UITableViewDelegate и UITableViewDataSource? – Tirth
Вы неверно ссылаетесь на значение массива в следующей строке кода cell.textLabel.text = [arrPlaylist objectAtIndex: @ "% @"], поскольку вы не указываете, какой индекс следует принимать из массива, он должен быть ячейкой. textLabel.text = [arrPlaylist objectAtIndex: indexPath.row]. – ldindu