我的第一堂课.h:
@interface CollectionViewController : UICollectionViewController <..>
@property (strong, nonatomic) IBOutlet UICollectionView *collectionView;
-(void)refreshView;
@end
我的第一堂课.m
@implementation CollectionViewController
-(void)refreshView
{
[self.collectionView reloadData];
}
@end
我需要从我的第二课
调用此方法我的第二堂课.h
@interface CollectionViewCell : UICollectionViewCell
- (IBAction)buttonAction:(id)sender;
@end
我的第二堂课.m
@implementation CollectionViewCell
- (IBAction)myButtonAction:(id)sender {
//i need to call the method "refreshView" here
}
@end
我尝试将方法refreshView
从私人编辑为公开,但它与&#34; [self.collectionView reloadData];
&#34;
感谢您的帮助。
答案 0 :(得分:0)
让你的细胞知道&#34;这不是一个好主意。它的集合视图。
使用委托......
@protocol CollectionViewCellDelegate <NSObject>
- (void)refreshButtonPressedForCell:(CollectionViewCell *)cell;
@end
@interface CollectionViewCell : UICollectionViewCell
@property (nonatomic, weak) id<CollectionViewCellDelegate> delegate;
@end
@interface CollectionViewController : UICollectionViewController <CollectionViewCellDelegate>
@end
@implementation CollectionViewController
- (void)refreshButtonPressedForCell:(CollectionViewCell *)cell {
[self.collectionView reloadData];
}
@end
不要忘记在每个单元格上设置委托属性!