帮酷LOGO
0 0 评论
  • 显示原文与译文双语对照的内容
文章标签:换行  Nsfilemanager  WRAP  POW  
Simple and powerful wrapper for NSFileManager.

  • 源代码名称:SwiftFilePath
  • 源代码网址:http://www.github.com/nori0620/SwiftFilePath
  • SwiftFilePath源代码文档
  • SwiftFilePath源代码下载
  • Git URL:
    git://www.github.com/nori0620/SwiftFilePath.git
  • Git Clone代码到本地:
    git clone http://www.github.com/nori0620/SwiftFilePath
  • Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/nori0620/SwiftFilePath
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
  • SwiftFilePath

    CI StatusCarthage CompatibilityVersionLicensePlatform

    简单而强大的NSFileManager封装。

    用法

    创建实例

    你可以从字符串创建 Path 对象。

    let fooDir =Path("/path/to/fooDir")// You can re obtain String by calling toString.fooDir.toString() //"/path/to/fooDir"

    通过工厂方法从App获取可以访问的Path

    Path.homeDir.toString()//"/var/mobile/Containers/Data/Application/<UUID>"Path.documentsDir.toString()//"/var/mobile/Containers/Data/Application/<UUID>/Documents"Path.cacheDir.toString()//"var/mobile/Containers/Data/Application/<UUID>/Library/Caches"Path.temporaryDir.toString()//"var/mobile/Containers/Data/Application/<UUID>/Library/tmp"

    对其他目录和文件的访问权限

    // Get Path that indicate foo.txt file in Documents dirlet textFilePath = Path.documentsDir["foo.txt"]
    textFilePath.toString() //"~/Documents/foo.txt"// You can access subdir.let jsonFilePath = Path.documentsDir["subdir"]["bar.json"]
    jsonFilePath.toString() //"~/Documents/subdir/bar.json"// Access to parent Path.jsonFilePath.parent.toString() //"~/Documents/subdir"jsonFilePath.parent.parent.toString() //"~/Documents"jsonFilePath.parent.parent.parent.toString() //"~/"
    let contents = Path.homeDir.contents!// Get dir contents as Path object.// [// Path<~/.com.apple.mobile_container_manager.metadata.plist>, // Path<~/Documents>,// Path<~/Library>, // Path<~/tmp>,// ]// Or you can use dir as iteratorfor content:Path in Path.homeDir { 
     println(content) 
     }

    对文件信息的访问

    检查路径是否为 dir。

    Path.homeDir.isDir// truePath.homeDir["hoge.txt"].isDir//false

    检查路径是否存在。

    // homeDir is existsPath.homeDir.exists// true// Is there foo.txt in homeDir?Path.homeDir["foo.txt"].exists// Is there foo.txt in myDir?Path.homedir["myDir"]["bar.txt"].exists

    你可以获得文件 basename。

    Path.homedir["myDir"]["bar.txt"].basename// bar.txt

    你可以获得文件扩展名。

    // Get all *json files in Documents dir.let allFiles = Path.documentsDir.contents!let jsonFiles = allFiles.filter({$0.ext=="json" })

    你可以获取文件的更多属性。

    let jsonFile = Path.documentsDir["foo.json"]
    jsonFile.attributes!.fileCreationDate()!// 2015-01-11 11:30:11 +0000jsonFile.attributes!.fileModificationDate()!// 2015-01-11 11:30:11 +0000jsonFile.attributes!.fileSize() // 2341

    文件操作

    创建( 或者删除) 目录和文件。

    // Create"foo" dir in Documents.let fooDir = Path.documentsDir["foo"]
    fooDir.mkdir()// Create empty file"hoge.txt" in"foo" dir.let hogeFile = fooDir["hoge.txt"]
    hogeFile.touch()// Delete foo dirfooDir.remove()

    复制( 或者移动) 文件。

    let fooFile = Path.documentsDir["foo.txt"]let destination = Path.tmpDir["foo.txt"]
    fooFile.copyTo( destination )

    写入( 或者阅读) 字符串数据。

    // Write string.let textFile = Path.documentsDir["hello.txt"]
    textFile.writeString("HelloSwift")// Read string.let text = textFile.readString()!// HelloSwift

    写入( 或者阅读) 二进制数据。

    // Write binary data.let binFile = Path.documentsDir["foo.bin"]
    binFile.writeData( NSData() )// Read binary data.let data = binFile.readData()!

    错误句柄

    touch/remove/copyTo/writeTo/mkdirResult 返回为 enum。

    如果操作成功,Result 具有 value 属性。 如果操作失败,Result 具有 error 属性。

    let result = Path.documentsDir["subdir"].mkdir()if( result.isSuccess ){ 
     println( result.value! ) 
    }if( result.isFailure ){ 
     println( result.error! ) 
    }

    或者你可以通过关闭样式编写。 ( 使用这里样式,不需要展开可选值)

    Path.documentsDir["subdir"].mkdir()
    . onSuccess({ (value:Path) in 
     println( value )
     })
    . onFailure({ (error:NSError) in 
     println( error )
     })
    安装

    CocoaPods

    要安装它,只需在你的Podfile中添加以下行:

    pod 'SwiftFilePath',

    ( 目前,通过CocoaPods安装这个框架,你需要使用预发布版本。)

    Carthage

    要安装它,只需在你的Cartfile中添加以下行:

    github "nori0620/SwiftFilePath"
    许可证

    SwiftPathClass是在MIT许可证下发布的。 详细信息请参阅许可证。



    文章标签:WRAP  换行  POW  Nsfilemanager  

    Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语