我已经阅读了很多关于使用块的积极内容——特别是它通过消除委托调用来简化代码。我发现了在动画结束时使用块而不是委托调用的示例。块示例很简单,但我不能将示例用于 iphone 应用程序。例如,我使用委托:
。H
@protocol AWActionSheetDelegate <NSObject>
- (int)numberOfItemsInActionSheet;
- (AWActionSheetCell*)cellForActionAtIndex:(NSInteger)index;
- (void)DidTapOnItemAtIndex:(NSInteger)index;
@end
@interface AWActionSheet : UIActionSheet
@property (nonatomic, assign)id<AWActionSheetDelegate> IconDelegate;
-(id)initwithIconSheetDelegate:(id<AWActionSheetDelegate>)delegate ItemCount:(int)cout;
@end
.m
- (void)actionForItem:(UITapGestureRecognizer*)recongizer
{
[IconDelegate DidTapOnItemAtIndex:cell.index];
}
我用它:
-(void)DidTapOnItemAtIndex:(NSInteger)index
{
NSLog(@"tap on %d",index);
}
如何使用块不使用委托我可以获得索引,您能否提供建议,如果提供好的块类别来完成效果非常好。我不想使用委托传递索引,我只想使用块来获取索引