Objective c 尝试调用第二个表视图,其中包含第一个视图中取消选择的播放列表项
也许有人能帮我解决问题。我似乎无法使用cocoalibspotify显示播放列表项。我已经设置了播放视图,第一个ableviewcontroller显示播放列表,但当我尝试调用所选播放列表的项目时,我的输出显示的行数似乎为0。第一个视图显示如何将indexpath传递给secondviewcontroller。第二个脚本显示playlitemstavle视图控制器的my.h和.m文件 概述.m-带有播放列表的tableViewObjective c 尝试调用第二个表视图,其中包含第一个视图中取消选择的播放列表项,objective-c,uitableview,cocoalibspotify-2.0,libspotify,Objective C,Uitableview,Cocoalibspotify 2.0,Libspotify,也许有人能帮我解决问题。我似乎无法使用cocoalibspotify显示播放列表项。我已经设置了播放视图,第一个ableviewcontroller显示播放列表,但当我尝试调用所选播放列表的项目时,我的输出显示的行数似乎为0。第一个视图显示如何将indexpath传递给secondviewcontroller。第二个脚本显示playlitemstavle视图控制器的my.h和.m文件 概述.m-带有播放列表的tableView - (void)tableView:(UITableView *)t
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[playlistView deselectRowAtIndexPath:indexPath animated:NO];
playlistItemViewController *trailsController = [[playlistItemViewController alloc] initWithStyle:UITableViewStylePlain];
trailsController.currentPlaylist = [playlistArray objectAtIndex:indexPath.row];
//[[self navigationController] pushViewController:trailsController animated:YES];
[self getSongs];
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"showPlaylistItem"]) {
UITableViewCell *BasicCell = (UITableViewCell *) sender;
NSIndexPath *ip = [self.tableView indexPathForCell:BasicCell];
SPPlaylist *selectedPlaylist = [playlistArray objectAtIndex:ip.row];
playlistItemViewController *pivc = (playlistItemViewController *) segue.destinationViewController;
pivc.currentPlaylist = selectedPlaylist;
}
}
playlitemsviewcontroller.h-
#import <UIKit/UIKit.h>
#import "CocoaLibSpotify.h"
#import "Simple_PlayerAppDelegate.h"
#import "overViewController.h"
@interface playlistItemViewController : UITableViewController
{
UITableView *tableView;
}
@property (retain, nonatomic) IBOutlet UITableView *tableView;
@property (strong, readwrite, nonatomic) SPPlaylist *currentPlaylist;
@end
您需要等待播放列表加载,然后项目才可用 播放列表视图控制器需要使用
SPAsyncLoading
加载播放列表,如下所示:
[SPAsyncLoading waitUntilLoaded:self.currentPlaylist timeout:kSPAsyncLoadingDefaultTimeout then:^(NSArray *loadedItems, NSArray *notloadedItems) {
[self.tableView reloadData];
}];
播放列表加载可能需要一段时间,因此请确保设置一些“加载”UI。在它们的名称可用之前,您还需要以类似的方式加载可见轨迹 现在还不清楚通过同时实现DidSelectRowatineXpath和prepareForSegue,您想要实现什么。在这些方法中,您都在创建或引用PlayItemViewController。如果您在故事板中制作了控制器,并且正在使用segues,则不需要实现didSelectRowAtIndexPath。如果您删除了didselectrow方法,因为我确实在使用prepare for segue…但我仍然获得0个播放列表项您在哪里获得0个播放列表项?如果您在PrepareForSegue中记录selectedPlaylist,您会得到什么?我已经设法解决了。“为segue做准备”方法确实有问题。所以我改变了这一点,然后在我的播放列表视图中添加了上面的代码,猜猜看……它起了什么作用……谢谢大家……再次感谢你们的帮助。。。。
[SPAsyncLoading waitUntilLoaded:self.currentPlaylist timeout:kSPAsyncLoadingDefaultTimeout then:^(NSArray *loadedItems, NSArray *notloadedItems) {
[self.tableView reloadData];
}];