【发布时间】:2016-02-24 17:38:05
【问题描述】:
尝试使用 Xcode 7.1 在 iOS 9.1 上的 Swift 2.0 中创建一个简单的示例代码块。在techotopia 试过这篇文章;我怀疑它基于 swift 1.2。
进行了一些微小的更改,以便它可以编译和运行,但是虽然它似乎可以工作,但它似乎并没有将我的字符串保存到文件中。有没有我在这里错过的能力或一些微妙的东西。
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var textBox: UITextField!
var fileMgr: NSFileManager = NSFileManager.defaultManager()
var docsDir: String?
var dataFile: String?
var string: String = ""
override func viewDidLoad() {
super.viewDidLoad()
let dirPaths = NSSearchPathForDirectoriesInDomains(
.DocumentDirectory, .UserDomainMask, true)
docsDir = dirPaths[0] as String
let dataFile = NSURL(fileURLWithPath: docsDir!).URLByAppendingPathComponent("datafile.dat")
string = "\(dataFile)"
print(string)
if fileMgr.fileExistsAtPath(string) {
let databuffer = fileMgr.contentsAtPath(string)
let datastring = NSString(data: databuffer!,
encoding: NSUTF8StringEncoding)
textBox.text = datastring as? String
}
}
@IBAction func saveText(sender: AnyObject) {
let databuffer = (textBox.text)
let data = databuffer?.dataUsingEncoding(NSUTF8StringEncoding)
fileMgr.createFileAtPath(string, contents: data,
attributes: nil)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
更多测试;注意到当我尝试创建文件时出现此错误... __connection_block_invoke_2 中的错误:连接中断;这解释了为什么它不起作用,如果我能锻炼它在说什么?
继续尝试调试;添加了 UIFileSharingEnabled 但看不到 Documents 目录;添加了更多代码来测试它的存在,如果缺失则创建它;没有告诉我它已经在那里......即使它显然是不可见的......
【问题讨论】:
标签: ios swift file-io filesystems nsfilemanager