我正在尝试从已在桌面上创建的文本文件中读取。我把这个Story.txt
放到我的计算机上通过Xcode的相应文件路径中,这些都是这样的:
(/ Users / username / Library / Developer / CoreSimulator / Devices / 12F046A7- 更多数字 / data / Containers / Data / Application / 8AECCA06-160C- 4702-B16E-FF50B2A145F5)
并且代码完美无缺。但是,当我尝试在iPhone上运行应用程序时,它会更改文件路径,Xcode不会自动将我的文件传输到此文件路径下的iPhone文档文件夹。
(/ var / mobile / Containers / Data / Application / 139C80A3- 更多数字 / Documents)
如何手动将.txt文件放在此位置?
这是我用来读取文件的代码。
func loadStory()
{
if let dir : NSString = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.AllDomainsMask, true).first
{
let path = dir.stringByAppendingPathComponent("Story.txt")
print(path)
do
{
//reads file
let text:String = try NSString(contentsOfFile: path, encoding: NSUTF8StringEncoding) as String
}
catch {/* error handling here */}
}
}
答案 0 :(得分:2)
由于您似乎希望应用程序附带该文件,因此请勿尝试在计算机上的某个位置手动安装该文件。如果您碰巧将文件放在正确的位置,那只适用于模拟器。
而是将文件添加到Xcode项目中。然后该文件将添加到您应用的资源包中。然后,您可以使用NSBundle
访问该文件以获取其路径。它不会出现在应用程序的Documents文件夹中。它将在应用程序包中。
有关详细信息,请参阅Where to place a .txt file and read from it in a IOS project。
答案 1 :(得分:1)
您需要将其添加到项目中。将其拖放到项目中,以便将其捆绑在一起。您可以使用
访问它Let string = NSBundle.mainBundle().resourcePath as NSString
String.stringByAppendingPathComponent('Story.txt')
答案 2 :(得分:-1)
如果你可以将文件从.txt更改为plist,你可以将它集成到你的项目中,从不考虑它在哪里,它总是可以访问。