IOS SwiftassetForURL错误

Posted

技术标签:

【中文标题】IOS SwiftassetForURL错误【英文标题】:IOS Swift assetForURL error 【发布时间】:2014-07-18 09:01:21 【问题描述】:

我只想使用 Swift 从 ios 8 中的 ALAsset 获取图像资产。

我使用 SNImagePicker 来挑选多张图片。

使用objective-c我使用这个:

    for (int i = 0; i < info.count; i++) 
    ALAssetsLibrary *assetLibrary=[[ALAssetsLibrary alloc] init];
    [assetLibrary assetForURL:info[i] resultBlock:^(ALAsset *asset) 
        UIImage *image = [UIImage imageWithCGImage:[asset aspectRatioThumbnail]];
     failureBlock:^(NSError *error)      ];

使用 swift,我尝试这样做:

func imagePicker(imagePicker: SNImagePickerNC!, didFinishPickingWithMediaInfo info: NSMutableArray!)
    var i: Int = Int(0);
    for (i; i < info.count as Int; i++)
        var url: NSURL = info[i] as NSURL
        var assetLibrary: ALAssetsLibrary = ALAssetsLibrary()

        //
        //assetLibrary.assetForURL(NSURL?(), resultBlock: ALAssetsLibraryAssetForURLResultBlock?(), failureBlock: ALAssetsLibraryAccessFailureBlock?())            
        //

        assetLibrary.assetForURL(url, resultBlock: 
            (asset: ALAsset!) in
            if asset != nil 
                var assetRep: ALAssetRepresentation = asset.defaultRepresentation()
                var iref = assetRep.fullResolutionImage().takeUnretainedValue()
                var image =  UIImage(CGImage: iref)

                self.imageViewPreview.contentMode = UIViewContentMode.ScaleAspectFill
                self.imageViewPreview.image = image

            
            , failureBlock: 
                (error: NSError!) in

                NSLog("Error!", nil)
            
        )
    

使用这个 sn-p,我得到一个错误:

类型“CVarArg”不符合协议“NilLiteralConvertible”

【问题讨论】:

哪一行导致错误? 【参考方案1】:

尝试用 NSLog("Error!") 替换 NSLog("Error!", nil)。此语句导致 Swift 抛出意外的错误消息。

【讨论】:

以上是关于IOS SwiftassetForURL错误的主要内容,如果未能解决你的问题,请参考以下文章

Paypal MPL iOS 错误:iOS 中的内部服务器错误

Flutter 构建 iOS 错误:在 iOS 设备中构建 Flutter 应用程序时遇到错误

iOS:- 错误:无法创建存储目录。错误域 = NSCocoaErrorDomain 代码 = 512

iOS 错误选择器错误

TouchMoved 和错误的屏幕范围?还是 iOS 中的错误?

IOS-细节错误