gpt4 book ai didi

macos - pathForResource 在 Mac OS X 控制台应用程序中返回 nil — Swift

转载 作者:IT王子 更新时间:2023-10-29 05:38:56 24 4
gpt4 key购买 nike

我正在使用命令行工具,尝试检索存储在名为 words.txt 的文件中的单词列表的路径。该文件被添加到项目中,包括在项目的目标成员中,并在目标的复制文件构建阶段被选择复制。在 Main.swift 中这段代码:

if let path = NSBundle.mainBundle().pathForResource("words", ofType: "txt") {
println("Path is \(path)")
} else {
println("Could not find path")
}

打印“找不到路径”。 mainBundle() 类函数是要访问的正确包吗?关于 pathForResource 函数为何返回 nil 的任何想法?

最佳答案

要将 bundle 与命令行工具一起使用,您需要确保将资源文件添加为构建阶段的一部分。听起来您很欣赏这一点,但没有正确执行。以下内容在快速演示应用程序中对我有用:

  1. 将资源添加到您的项目。

enter image description here

  1. 在项目导航器中选择项目文件。

enter image description here

  1. 添加一个新的复制文件阶段

enter image description here

  1. 向您在第 3 步中添加的阶段添加来自第 1 步的文件。您可以通过单击 + 按钮(圆圈),然后导航到相关文件来执行此操作。

enter image description here


构建项目时,您现在应该能够使用 NSBundle 访问文件的路径。

import Foundation

let bundle = NSBundle.mainBundle()
let path = bundle.pathForResource("numbers", ofType: "txt")

if let p = path {
let string = NSString(contentsOfFile: p,
encoding: NSUTF8StringEncoding,
error: nil)
println(string)
} else {
println("Could not find path")
}

// Output -> Optional(I am the numbers file.)

关于macos - pathForResource 在 Mac OS X 控制台应用程序中返回 nil — Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27771846/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com