Xcode - 如何从另一个类调用方法

时间:2014-05-01 17:49:32

标签: ios objective-c

我的第一堂课.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;

不兼容

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

让你的细胞知道&#34;这不是一个好主意。它的集合视图。

使用委托......

CollectionViewCell.h

@protocol CollectionViewCellDelegate <NSObject>
- (void)refreshButtonPressedForCell:(CollectionViewCell *)cell;
@end

@interface CollectionViewCell : UICollectionViewCell
@property (nonatomic, weak) id<CollectionViewCellDelegate> delegate;
@end

CollectionViewController.m

@interface CollectionViewController : UICollectionViewController <CollectionViewCellDelegate>
@end

@implementation CollectionViewController

- (void)refreshButtonPressedForCell:(CollectionViewCell *)cell {
    [self.collectionView reloadData];
}

@end

不要忘记在每个单元格上设置委托属性!

相关问题