Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将json数据添加到我的xcode项目中?_Json_Swift_Xcode - Fatal编程技术网

如何将json数据添加到我的xcode项目中?

如何将json数据添加到我的xcode项目中?,json,swift,xcode,Json,Swift,Xcode,我正在尝试制作一个简单的Pokedex,它允许用户使用Swift在英语和日语之间切换pokemon的名字。我在互联网上发现,pokedex.json文件中有英文和日文的Pokemon名称,images文件夹中有Pokemon图像,因此我计划使用源代码,但问题是我不确定如何在没有端点的情况下访问数据 通常,我使用swiftyJOSN和Alamofire来请求API并解析JSON数据,但是,源代码没有API端点。这就是为什么我对如何在没有GET请求的情况下访问数据感到困惑 我想我需要将pokedex

我正在尝试制作一个简单的Pokedex,它允许用户使用Swift在英语和日语之间切换pokemon的名字。我在互联网上发现,pokedex.json文件中有英文和日文的Pokemon名称,images文件夹中有Pokemon图像,因此我计划使用源代码,但问题是我不确定如何在没有端点的情况下访问数据

通常,我使用swiftyJOSN和Alamofire来请求API并解析JSON数据,但是,源代码没有API端点。这就是为什么我对如何在没有GET请求的情况下访问数据感到困惑

我想我需要将pokedex.json和其他图像文件放到我的代码项目中,并使我的代码可以访问数据(抱歉,我不确定)。那么,如果我是正确的,谁能告诉我如何将文件导入到我的项目中?另一方面,如果我试图做一些完全错误的事情,有人能告诉我吗


另外,我想知道如何使用Swift访问JSON文件中的数据。

是的,您可以将文件作为资源发送到应用程序包中。 以下是您如何做到这一点:

  • 在Xcode中,在项目中创建一个组,并给它一个描述性名称,例如“资源”
  • 从源代码下载pokedex.json文件
  • 将这个
    pokedex.json
    文件从Finder拖放到Xcode。当文件添加对话框出现时,确保选中“如果需要,复制项目”复选框,并且您的主要目标已选中
  • 在代码中,您可以这样读取资源:
  • guard let pokedexFilePath=Bundle.main.path(forResource:“pokedex”,of type:“json”),
    让pokedexData=FileManager.default.contents(atPath:pokedexFilePath)else
    {
    //TODO:正确处理错误
    返回
    }
    //现在,您可以使用SwiftyJSON、Codable或任何您喜欢的工具解析pokedexData。
    
    但是,如果您需要在应用程序中附带图像文件,您可能会发现使用资产目录(Xcode项目中的blue Assets.xcsets文件夹)比使用上述方法更方便。在“资源目录”中,您可以为不同的屏幕或界面主题指定同一图像的不同版本,甚至可以根据需要指定同一图像的本地化版本。使用资产目录时,只需调用
    UIImage(名为:“您的\u图像\u目录中的\u名称”)
    即可在代码中创建图像