Я только что завершил интеграцию библиотеки фотографий на основе Objective-C в мой код, но я застрял при попытке переписать код примера Objective-C в Быстро в одном месте, в частности. Вот код Objective-C, вызывающий проблему.Objective C Block - Convert Swift Not Working
__weak MHGalleryController *blockGallery = gallery;
gallery.finishedCallback = ^(NSInteger currentIndex,UIImage *image,MHTransitionDismissMHGallery *interactiveTransition,MHGalleryViewMode viewMode){
NSIndexPath *newIndex = [NSIndexPath indexPathForRow:currentIndex inSection:0];
[self.tableView scrollToRowAtIndexPath:newIndex atScrollPosition:UITableViewScrollPositionMiddle animated:NO];
dispatch_async(dispatch_get_main_queue(), ^{
UIImageView *imageView = [(ImageTableViewCell*)[self.tableView cellForRowAtIndexPath:newIndex] iv];
[blockGallery dismissViewControllerAnimated:YES dismissImageView:imageView completion:nil];
});
};
Мое предположение, что мне нужно установить переменную finishedCallback к закрытию с параметрами - по аналогии с блоком above.As такой я пытался сделать то же самое. Мой блок упоминается как переменная «closedBlockInputs» ниже.
weak var blockedGallery = gallery
var closingBlock = {
(currentIndex:NSInteger, image:UIImage, interactiveTransition: MHTransitionDismissMHGallery, viewMode: MHGalleryViewMode) ->() in
}
var tr = MHTransitionDismissMHGallery()
gallery.finishedCallback = closingBlock(1, UIImage(name:"temp"),tr,MHGalleryViewMode.OverView)
Однако, когда я запускаю код, я получаю сообщение об ошибке, как:
() не конвертируются в Int, UIImage, MHTransitionDismissMHGallery, MHGalleryViewMode
Я довольно конечно, у меня есть общий поток вправо, просто отсутствует что-то ...
Любая помощь была бы принята с благодарностью ...
Хороший, ясный ответ. (проголосовало) –
Отлично ... спасибо – mday