Swift has a bug.
e.g.
weak var weakImageView = self.imageView
itemProvider.loadItemForTypeIdentifier(kUTTypeImage as NSString, options: nil, completionHandler: { (image, error) in
if image != nil {
NSOperationQueue.mainQueue().addOperationWithBlock {
if let imageView = weakImageView {
imageView.image = image as? UIImage
}
}
}
})This Program falls. Swift can't cast NSSecureCoding to UIImage.
__weak UIImageView *imageView = self.imageView;
[itemProvider loadItemForTypeIdentifier:(NSString *)kUTTypeImage options:nil completionHandler:^(UIImage *image, NSError *error){
if(image) {
[[NSOperationQueue mainQueue] addOperationWithBlock:^{
[imageView setImage:image];
}];
}
}];
However, Objective-C Program is Fine. Objective-C can cast NSSecureCoding to UIImage.
- Import this two Files in your project
- Create Bridging Header
- #import in Bridging Header
- Setting Bridging Header in your xcode project settings