NSString與NSData互轉

1 篇文章 / 0 new
author
NSString與NSData互轉
► NSString轉NSData
var conversionString = "is a string"
conversionString.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: true)
println(converedData)
// 輸出:NSData(Optional):Optional(<69732061 20737472 696e67>)
► NSData轉NSString
var converbackString = NSString(data: converedData!, encoding: NSUTF8StringEncoding)
println(converbackString)
// 輸出:NSString(Optional):Optional(is a string)
► UIImage轉NSData
let image = documentDir + "/bg.jpg"
let imageData: NSData = UIImageJPEGRepresentation(UIImage(named: image), 0.1)
► 從SandBox載入NSData類型的UIImage
// 載入NSData
let imagetest = fileManager.contentsAtPath(imagePath)
println(imagetest)
// 顯示
let imageView = UIImageView(frame: view.bounds)
imageView.image = UIImage(named: imagePath)
view.addSubview(imageView)
► NSString類路徑處理方法(工具方法)
NSString:pathWithComponens:components //根據components中的元素構造有效路徑
NSArray:pathComponents //析構路徑,獲得組成此路徑的各個部分
NSString:lastPathComponent //提取路徑的最後一個組成部分
NSString:pathExtension //從路徑的最後一個組成部分中提取其副檔名
NSString:stringByAppendingPathComponent:path //將path添加到現有路徑的末尾
NSString:stringByAppendingPathExtension:ext //將指定的副檔名添加到路徑的最後一個組成部分
NSString:stringByDeletingLastPathComponent //刪除路徑的最後一個組成部分
NSString:stringByDeletingPathExtension //從檔的最後一部分刪除副檔名
NSString:stringByExpandingTileInPath //將路徑中代字元擴展成用戶主目錄(~)或指定使用者的主目錄(~user)
NSString:stringByresolvingSymlinksInPath //嘗試解析路徑中的符號連結
NSString:stringByStandardizingPath //通過嘗試解析~、..(父目錄符號)、.(目前的目錄符號)和符號連結來標準化路徑
範例:
首先預定義一個檔路徑:var filePath: NSString = "/Uesrs/anoxia/My love.mp3"
//獲取組成路徑的各個部分:
print(filePath.pathComponents)
// 輸出NSArray:[/, Uesrs, anoxia, My love.mp3]
//活路路徑的最後一個組成部分:
print(filePath.lastPathComponent)
// 輸出:NSString:My love.mp3
//刪除路徑額的最後一個組成部分:
print(filePath.stringByDeletingLastPathComponent)
// 輸出:NSString:/Uesrs/anoxia
//在路徑最後添加路徑:
var appendPath = "file.txt"
print(filePath.stringByAppendingPathComponent(anotherPath))
// 輸出:NSString:/Uesrs/anoxia/My love.mp3/text.a
//獲取檔路徑的擴展:
print(filePath.pathExtension)
// 輸出: NSString:mp3
//在路徑最後面追加副檔名:
print(filePath.stringByAppendingPathExtension("a"))
// 輸出:NSString(Optional):Optional("/Uesrs/anoxia/My love.mp3.a")
//遍歷應用目錄
let filemanager: NSFileManager = NSFileManager()
let files = filemanager.enumeratorAtPath(NSHomeDirectory())
while let file: AnyObject = files?.nextObject() {
    print(file)
}
 
from http://www.coloroud.com/2015/06/01/Swift-File-Manager/
Free Web Hosting