编辑:我不相信这个问题是Read and write a String from text file的重复。我在这个问题中链接了这个确切的问题,解释说它不起作用!
我希望能够读取我在应用程序的项目.txt中包含的文件。我有以下代码:XcodeiOS
let bundle = Bundle.main
override func sceneDidLoad() {
let path = bundle.path(forResource: "data", ofType: "txt")
let string = try String(contentsOfFile: path!) else throw Error
}
Run Code Online (Sandbox Code Playgroud)
直到之前的所有线路都let string = ...很好。然而,我在诸如此类的问题中发现的所有内容都无法读取该data.txt文件,因为它们的语法不正确/过时。
我如何从中阅读?
编辑:我必须let string是这样的:
do {
let string = try String(contentsOfFile: path!)
print(string) // prints the content of data.txt
}
catch {
throw Error
} …Run Code Online (Sandbox Code Playgroud) 我正在构建一个应用程序,让用户从其照片库中选择一个图像.我正在使用此代码来保存它.
func imagePickerController(picker: UIImagePickerController, didFinishPickingImage image: UIImage, editingInfo: [String : AnyObject]?) {
imgPicker.dismissViewControllerAnimated(true, completion: nil)
NSUserDefaults.standardUserDefaults().setValue(image, forKey: "bgImage")
}
func imagePickerControllerDidCancel(picker: UIImagePickerController) {
imgPicker.dismissViewControllerAnimated(true, completion: nil)
}
Run Code Online (Sandbox Code Playgroud)
我后来发现你无法使用NSUserDefaults保存图像,但是你可以保存拾取图像的路径,保存并加载"if let ..."
但我不知道该怎么做(找到路径并保存).这个想法是让用户选择视图背景图像,有点像Whatsapp的作用.
如果我错了而你无法存储路径,有没有简单的方法来保存所选图像而不使用在线服务器?
我有一个几百字节的字符串和一些 Int32 值。我想将这些逐字写入文件。
我尝试了许多建议的解决方案,但没有一个对我有用。我在文件中得到了多余的括号、空格或逗号。
谁能提出一个简单可靠的解决方案?
我以为我的问题很清楚,但在阅读评论后,我简化了它。
如何将“12345”写入和/或附加到文件,以便文件包含以下十六进制值: 3132333435 ?
通过编写 NSData 字符串,我可以获得的最佳结果是 <3132333435>。
我可以使用此链接获得所需的结果:是否 swift 有用于写入字节流的协议?,但我无法将数据附加到我创建的文件中。
我知道如果我想在Swift中使用此try块之外的变量文本,我会这样编写这段代码,
var text = NSString()
do {
text = try NSString( contentsOfURL: url, encoding: NSUTF8StringEncoding ) }
catch let errOpening as NSError {
// ...
}
Run Code Online (Sandbox Code Playgroud)
从以前的几天开始按字节存储时,我的口头禅是尽可能使用常量.因此,在文本将被加载一次而从未改变的情况下,我的直觉告诉我要使它成为常量.
do {
let text = try NSString( contentsOfURL: url, encoding: NSUTF8StringEncoding ) }
catch let errOpening as NSError {
// ...
}
Run Code Online (Sandbox Code Playgroud)
但是我不能在try块之外使用加载的文本.有没有办法在Swift这个上下文中将文本视为try块之外的常量?或者这只是一个老人编码的向往,我应该使用var,忘掉它,继续前进?
提前谢谢了!