反向枚举通过一个随机的NSArray目标C



我目前正在制作一个从数组播放视频的应用程序。我已经将数组连接到一个随机化器,这样当用户点击"下一步"按钮时,数组中的视频就会被随机选择。下一个按钮工作正常,但我挣扎的是后退按钮。我希望用户能够通过点击"返回"按钮返回到上一个视频。我研究了几种方法来做到这一点,但没有一个是有效的。如果有人可以看看我的代码下面,并给我一些建议,这将是非常感激!请注意,为了节省空间,我只从数组中选择了1个索引。此外,我知道还有其他一些关于反向枚举的帖子,就像我说的,没有一个给我带来成功。我做了大量的研究,这是我最后的办法。

@implementation MajesticViewController
@synthesize arrayName = _arrayName;
- (void)viewDidLoad
{
[super viewDidLoad];

//Heres the array containing the videos
_arrayName = [NSArray arrayWithObjects:
// video 0- losing you
@"<iframe width="279" height="199" src="http://www.youtube.com/embed/YjvRydejkYY" frameborder="0" allowfullscreen></iframe>", @"<iframe width="279" height="199" src="http://www.youtube.com/embed/nosOsDG38nQ?rel=0" frameborder="0" allowfullscreen></iframe>", nil];    
[self pickSong:_arrayName];
}
//This is the next button
-(IBAction)newSongButton:(id)sender
{
[self pickSong:_arrayName];
}
//This randomly picks the next video
-(void)pickSong:(NSArray *)arrayName
{
int r = arc4random() % 47;
//int r = 46; /////tester
if (r==0)
{
NSString *randomResponse = [arrayName objectAtIndex:0];
[[self myWebView] loadHTMLString:randomResponse baseURL:nil];     
}

如果需要返回,只需创建一个ivar或属性来跟踪前一个对象。如果需要更多,可以使用数组创建一个简单的堆栈,该数组跟踪x个先前的对象。您可以使用indexOfObject

在新的排序/随机数组中找到它们

最新更新