私はスロットマシンアプリを使用して作成してiCarousel
います。この画像iCarousel
からの画像が含まれています。これが私のアプリの仕組みです。ユーザーがボタンを押すと回転します。停止したら、3秒間表示してから削除します。NSDocumentDirectory
ImagePicker
iCarousel
私の問題は、別のビューに移動すると、削除されたインデックス/アイテムが再び表示されることです。別のビューに移動してもアレイを維持する方法。配列の保存など、アプリが再起動されるまで、削除されたインデックス/アイテムは表示されません。助けてくれてありがとう。
//私の配列
- (void)viewDidLoad
{
self.images = [NSMutableArray new];
for(int i = 0; i <= 100; i++)
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDir = [paths objectAtIndex:0];
NSString *savedImagePath = [documentsDir stringByAppendingPathComponent:[NSString stringWithFormat:@"images%d.png", i]];
if([[NSFileManager defaultManager] fileExistsAtPath:savedImagePath]){
[images addObject:[UIImage imageWithContentsOfFile:savedImagePath]];
}
}
}
- (void)viewWillAppear:(BOOL)animated {
spinButton = [UIButton buttonWithType:UIButtonTypeCustom];
[spinButton addTarget:self action:@selector(spin) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:spinButton];
}
- (void) carouselDidEndScrollingAnimation:(iCarousel *)carousel{
[NSTimer scheduledTimerWithTimeInterval:0.56 //this arranges the duration of the scroll
target:self
selector:@selector(deleteItem)
userInfo:nil
repeats:NO];
}
//スピンしてメソッドを削除します
- (void)spin {
[carousel scrollByNumberOfItems:-35 duration:10.7550f];
}
-(void) deleteItem {
//Removes the object chosen
NSInteger index = carousel.currentItemIndex;
[carousel removeItemAtIndex:index animated:YES];
[images removeObjectAtIndex:index];
}
必要なのは、インデックス/アイテムを削除すると、他のビューに移動しても一時的に表示されないことです。ビューは、アプリを閉じて再度開いた後にのみ再開されます