loadItemForTypeIdentifier:options:completionHandler:
方法通过iOS 8中的Share扩展程序从Safari中提取URL。在Objective-C中,此代码编译并运行:
[itemProvider loadItemForTypeIdentifier:(@"public.url" options:nil completionHandler:^(NSURL *url, NSError *error) {
//My code
}];
但是在Swift中,我得到了“ NSSecureCoding!”当我尝试执行类似操作时,不是“ NSURL”编译错误的子类型:
itemProvider.loadItemForTypeIdentifier("public.url", options: nil, completionHandler: { (urlItem:NSURL, error:NSError!) in
//My code
})
[如果像NSURL!
中那样在NSURL参数类型中添加爆炸,则会出现“无法将表达式的'Void'类型转换为'Void'类型”编译错误。如果我将默认参数键入为NSSecureCoding!
,它将进行编译,但阻止/关闭不会运行。
我在做什么错?
我正在使用NSItemProvider对象上的loadItemForTypeIdentifier:options:completionHandler:方法通过iOS 8中的Share扩展程序从Safari中提取url。在Objective-C中,此代码进行编译...