我想在添加到button
的{{1}}中向toolbar
添加操作。
collectionView
有4个共享按钮,但有些原因,我无法正确调用toolbar
项。
collectionView
这会返回错误:
由于未捕获的异常终止应用程序' NSInternalInconsistencyException',原因:'无效更新:第0部分中的项目数无效。更新后现有部分中包含的项目数(3)必须等于更新前该部分中包含的项目数(3),加上或减去从该部分插入或删除的项目数(插入1个,删除0个),加上或减去移入的项目数或超出该部分(0移入,0移出)。'
答案 0 :(得分:1)
当您致电-insertItemsAtIndexPaths:
时,您应该关注dataSource
方法,因为UICollectionView
会再次询问有关更新项目的问题。在您的情况下,您不会在第0部分中返回正确数量的更新项目,这会导致您获得错误。
通常你有UICollectionView
的某些来源,你也应该更新它
答案 1 :(得分:0)
您必须更新包含商品的商家。检查numberOfRowsInSection:
方法
编辑: 要共享相应集合视图单元格的文本,您无需将任何单元格插入现有集合视图。试试这段代码
- (IBAction)share:(id)sender
{
NSArray *selectedIndexPaths = [_collectionView indexPathsForSelectedItems];
NSMutableArray *selectedTexts = [NSMutableArray array];
for (NSIndexPath *indexPath in selectedIndexPaths) {
NSArray *section = videoArray[indexPath.section];
NSString *text = section[indexPath.row];
[selectedTexts addObject:text];
}
SLComposeViewController *tweetSheet = [SLComposeViewController
composeViewControllerForServiceType:SLServiceTypeTwitter];
NSString *textToShare = [selectedTexts componentsJoinedByString:@" "];
[tweetSheet setInitialText:textToShare];
[self presentViewController:tweetSheet animated:YES completion:nil];
NSLog(@"%@", textToShare);
}