在Swift中转换由NSURL.getResourceValue返回的数组

用户名

我花了整整一天的时间试图从NSURL.getResourceValue迅速获得NSURLTagNamesKey的可用结果该函数应将路径名作为字符串,并为用户标签返回字符串数组。我有一个可以在Objective C中使用的版本,但是无法在Swift中重新编写。

这是代码的当前版本:

    func listTags(filePath:String)->[String]{
    //convert path string to NSURL
    let theURL : NSURL = NSURL.fileURLWithPath(filePath)!

    //get tags for NSURL -- should be NSArray of NSStrings hiding in an AnyObject?
    var tags : AnyObject?
    var anyError: NSError?
    tags = theURL.getResourceValue(&tags, forKey:NSURLTagNamesKey, error: &anyError)

    //unwrap tags object? This part never works
    let tagArray = tags! as [AnyObject]

    //insert every item in tag array into results array as a String
    var results = [String]()
    for object in tagArray{
        results.append(object as String)
    }

    return results
}

该代码将编译,但是在尝试将AnyObject转换为任何其他类型时会中断。我尝试了所有我能想到的组合-[AnyObject],[String],NSArray,带有/不带有感叹号和问号。

快要放弃Swift了。

保罗·帕特森

你要踢自己...

该方法getResourceValue:forKey:error返回值-a Bool,指示是否已填充您作为第一个参数传入的容器。不幸的是,您正在将此布尔值分配给tags-您的容器!-这意味着由Cocoa传递到此容器中的所有内容都将立即被覆盖。这对我有用...

var tags : AnyObject?
var anyError: NSError?
var success = theURL.getResourceValue(&tags, 
                       forKey:NSURLTagNamesKey, 
                       error: &anyError)
if success {
    println("container contents \(tags as [String])") // -> [AutoLayout, Swift]
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Swift中转换由NSURL.getResourceValue返回的数组

来自分类Dev

NSURL getResourceValue快速

来自分类Dev

NSURL getResourceValue快速

来自分类Dev

在python中转换数组

来自分类Dev

在php中转换多维数组

来自分类Dev

在numpy中转换数组的形状

来自分类Dev

返回数组的Swift方法

来自分类Dev

在XCTestCase中的Swift XCode 6 Beta 4中进行强制转换时,由NSFetchRequest错误返回的AnyObject数组出现“ Swift动态强制转换失败”

来自分类Dev

Swift 2.0-“无法将'NSURL'类型的返回表达式转换为'String'类型的返回值”

来自分类Dev

如何在Swift中转换Int数组中的字符串(数字)

来自分类Dev

在哈希数组中转换数组的数组

来自分类Dev

在XCTestCase中的Swift XCode 6 Beta 4中进行强制转换时,由NSFetchRequest错误返回的AnyObject数组,“快速动态强制转换失败”

来自分类Dev

NSURL总是返回nil Swift 2.0

来自分类Dev

在Inno Setup中转换CurrentFilename返回的{constants}

来自分类Dev

在Swift中转换Unicode

来自分类Dev

在Swift中转换CLLocationDistance

来自分类Dev

在Ruby中转换对象数组

来自分类Dev

如何在PHP中转换数组[嵌套]

来自分类Dev

如何在numpy数组中转换视频

来自分类Dev

在Python中转换二维数组

来自分类Dev

在Ruby / Rails中转换多维数组格式

来自分类Dev

在Python中转换多维数组维度

来自分类Dev

数组的数据在 Jquery 中转换为字符

来自分类Dev

在 json javascript 中转换数组 - 相同的键

来自分类Dev

如何在php中转换数组

来自分类Dev

在 ruby 中转换数组的散列

来自分类Dev

Python在数组中转换txt

来自分类Dev

返回由异步函数循环填充的数组

来自分类Dev

将String转换为NSURL迅速返回nil

Related 相关文章

热门标签

归档