使用 json 从本地文件传递数据

2024-04-20

我正在尝试将数据从 JSON 文件传递​​到简单的 ViewController 上,但我不知道在哪里实际传递该数据。我可以添加到我的setDataToJson方法或者我会将数据添加到我的viewDidLoad method?

这是我的代码

@interface NSDictionary(JSONCategories)
+(NSDictionary*)dictionaryWithContentsOfJSONString:(NSString*)fileLocation;
@end

@implementation NSDictionary(JSONCategories)

+(NSDictionary*)dictionaryWithContentsOfJSONString:(NSString*)fileLocation{
    NSData* data = [NSData dataWithContentsOfFile:fileLocation];
    __autoreleasing NSError* error = nil;
    id result = [NSJSONSerialization JSONObjectWithData:data 
                                                options:kNilOptions error:&error];
    if (error != nil) return nil;
    return result;
}
@end

@implementation ViewController
@synthesize name;

- (void)viewDidLoad
{
    [super viewDidLoad];

}

-(void)setDataToJson{

    NSDictionary *infomation = [NSDictionary dictionaryWithContentsOfJSONString:@"Test.json"];
    name.text = [infomation objectForKey:@"AnimalName"];//does not pass data
}

问题在于您尝试检索文件的方式。为了正确执行此操作,您应该首先在包中找到它的路径。尝试这样的事情:

+(NSDictionary*)dictionaryWithContentsOfJSONString:(NSString*)fileLocation{
    NSString *filePath = [[NSBundle mainBundle] pathForResource:[fileLocation stringByDeletingPathExtension] ofType:[fileLocation pathExtension]];
    NSData* data = [NSData dataWithContentsOfFile:filePath];
    __autoreleasing NSError* error = nil;
    id result = [NSJSONSerialization JSONObjectWithData:data 
                                                options:kNilOptions error:&error];
    // Be careful here. You add this as a category to NSDictionary
    // but you get an id back, which means that result
    // might be an NSArray as well!
    if (error != nil) return nil;
    return result;
}

完成此操作并加载视图后,您应该能够通过检索 json 来设置标签,如下所示:

-(void)setDataToJson{
    NSDictionary *infomation = [NSDictionary dictionaryWithContentsOfJSONString:@"Test.json"];
    self.name.text = [infomation objectForKey:@"AnimalName"];
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    [self setDataToJson];
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 json 从本地文件传递数据 的相关文章

  • 在 Monogame 和 UIKit 之间切换

    我一直在搜索和搜索 但似乎找不到适合我想做的事情的解决方案 而且我几乎已经到了不得不问它是否可能的地步 我正在使用 Xamarin Studio 开发 iOS 应用程序 我有几个不同的屏幕设置为 UIViewController 它们运行良
  • UITabBar 显示更多图标而不是“更多”选项

    我目前正在尝试使用UITabBar对于包含 7 个的 iOS 应用程序tabBar Items 当我使用故事板时 我能够实现所有 7 个目标tabBarItems 当我以编程方式添加tabBarItems 它强制 更多 按钮访问其他 tab
  • 如何使用 GPUImageHarrisCornerDetectionFilter 获取角点

    我正在尝试使用以下方法从静态图像中获取角点GPUImageHarrisCornerDetectionFilter 我查看了项目中的示例代码 查看了文档 还查看了这篇文章 内容大致相同 GPUImage 现有 UIImage 上的 Harri
  • 无法加载资源,因为应用程序传输安全策略要求使用安全连接

    当我将 Xcode 更新到 7 0 或 iOS 9 0 时 我遇到了这个问题 不知怎的 它开始给我标题错误 无法加载资源 因为应用程序传输安全性 策略要求使用安全连接 网络服务方法 void ServiceCall NSString Ser
  • 可以使用UIAppearance设置UINavigationItem的titleview吗?

    我目前使用此代码来设置导航项的 titleView void viewDidLoad UIImage navbarTitle UIImage imageNamed navbartitleview1 UIImageView imageView
  • SwiftUI - 正确使用 @available() 和 #available

    我在下面的代码中遗漏了什么吗 此应用程序在 iOS 15 设备上构建 macOS Monterey b5 Xcode 13 b5 并完美执行 但在 iOS 14 7 设备上导致 SIGABRT import SwiftUI struct C
  • SwiftUI withAnimation 完成回调

    我有一个基于某种状态的 swiftUI 动画 withAnimation linear duration 0 1 self someState newState 上述动画完成时是否会触发任何回调 如果有关于如何在 SwiftUI 中使用完成
  • Cordova 插件不适用于 Ionic

    我正在 Angular 中构建一个 Ionic 应用程序 但一直无法让插件工作 例如 我尝试使用状态栏插件 如下所述 http ionicframework com tutorials fullscreen apps http ionicf
  • 相机图像旋转问题

    我在这里面临一个非常奇怪的问题 当我在纵向模式下单击图像并上传它 然后再次获取它时 它会逆时针旋转 90 度显示 但是当我在相机胶卷中看到它时 它会以正确的方向显示 因为它被拍摄 我已经尝试了几乎所有可能的链接 代码来解决这个问题 但似乎没
  • iOS 12.1 上的 UITabBar 项目在返回导航上跳跃

    我有一个 iOS 应用程序UITabBarController在主屏幕上 导航到隐藏的详细信息屏幕UITabBarController有设置hidesBottomBarWhenPushed true 返回主屏幕时UITabBarContro
  • 在 Xcode 上创建配置文件

    我正在尝试在 iPhone 上调试应用程序 Xamarin Forms 我已经在我的 Windows PC 上安装了 Visual Studio 我正在其上编写应用程序 并在我的 Mac 上安装了 Visual Studio 和 Xcode
  • 使用Log4j在日志中输出Spark应用程序id

    我有一个用于 Spark 应用程序的自定义 Log4j 文件 我想输出 Spark 应用程序 ID 以及消息和日期等其他属性 因此 JSON 字符串结构如下所示 name time date level thread message app
  • 反应本机无法解析模块“warnOnce”

    我的英语有点生疏 对此我很抱歉 当我在 iOS 模拟器上启动 React Native 项目时 出现错误 为了排除与我的代码的任何冲突 我开始了一个新项目 react native init demo react native start
  • Xcode 6 自适应故事板每个设备有不同的 Segues

    我对 Xcode 6 中新引入的自适应故事板遇到了一些麻烦 iPhone 应用程序已经完成 现在我想用它创建一个通用应用程序 假设我有一个viewcontroller显示一些单元格和详细信息viewcontroller其中显示单元格的详细信
  • JSON 值无法转换为 System.Collections.Generic.List

    我正在尝试列出游戏中的所有项目using System Text Json 我对使用 json 文件很陌生 我尝试这样做来测试它是否有效 List
  • 如何使用python将dataframe的行数据转换为json中的列名作为键,行数据作为值

    我在转换数据帧的按行数据时遇到问题 其中列名作为键 行数据作为值 我想将此按行 json 传递给另一个 API 作为输入 我无法获取此 json 数据 for row in df iterrows out row to json orien
  • 改造:无法为类创建 @Body 转换器

    我需要通过改造 2 发送下一个 json Inspection UUID name ModifiedTime 2016 03 09T01 13 CreatedTime 2016 03 09T01 13 ReviewedWith name2
  • 响应中的有效 JSON

    我正在开发客户端和服务器应用程序 遇到了一个有趣的问题 我们正在创建一个 Restful API 并通过 JSON 响应与客户端进行通信 执行 DELETE 时 我们将返回 200 OK 和空白响应 我们的客户收到 200 OK 但解析 J
  • 可以在 iOS 应用程序中全局禁用旋转吗?

    我有一个由很多视图控制器组成的应用程序 在项目摘要中 我已将纵向方向设置为唯一支持的设备方向 然而 该应用程序在横向旋转时仍然会变得混乱 我的问题是 有没有办法通过应用程序委托或其他方式全局禁用自动旋转 或者我是否必须进入所有视图控制器并添
  • iOS:iOS 4.3 和 5.0 之间不同的 addSubview 行为

    之前在 iOS 4 3 中编码时 我发现将视图控制器的视图添加到另一个视图时 superview addSubView controller view 控制器实例将不会收到 viewWillAppear viewDidAppear消息 比我

随机推荐

  • 对齐 Google 地图标记片段中的文本

    我希望片段中的字符串与中心对齐 另外 代码片段中的换行符 n 被转换为空格 有没有办法插入换行符 我的相关代码 GoogleMap map map addMarker new MarkerOptions position pos title
  • MediaPlayer 的状态更改侦听器

    这张图中有很多states http developer android com reference android media MediaPlayer html StateDiagram 但使用标准监听器我只能监听一些基本状态 那么是否可
  • Excel 不应用 HTML 中的 mso-number-format

    这是我的情况 我有简单的 Excel OOXML 文件 http www filedropper com excel 1通过 Web 查询连接到我的服务器 所有带有日期的单元格都具有 常规 水平对齐方式 无对齐方式 和 MM DD YYYY
  • 如何在 json 文件中插入现有的 php 字符串文字?

    我有一个 php 脚本 它通过使用访问 json 文件file get contents 在 json 文件中 我们声明了一个 php 变量 请让我知道是否有任何方法可以解析 json 文件中的 php 变量 下面是代码 测试 json r
  • 在django中批量创建模型对象

    我有很多对象要保存在数据库中 所以我想用它来创建模型实例 使用 django 我可以创建所有模型实例 MyModel data 然后我想把它们全部保存下来 目前 我有类似的东西 for item in items object MyMode
  • 如何获取 ActionMailer 的 after_action 过滤器中的操作名称

    在下面的课程中 如何获取当前操作名称 即email confirmation password reset 在 的里面after action打回来add mandril headers class UserMailer lt Action
  • 是否有同时支持 RSS 和 ATOM 的 PHP 提要阅读器? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何跨多个域重用代码?

    我只是使用 Yii 框架构建了一个 CMS 框架 我想将 CMS 部署到多个域 home root www domain1 com home root www domain2 com home root www domain3 com ho
  • linux 多端口监听socket

    我正在用 C linux 编写一个多线程服务器应用程序 它必须侦听 2 个不同的端口号 例如侦听端口号 3000 和 4000 以便连接到它的不同客户端提供不同的功能 实际功能由工作人员执行 线程 主线程无限期运行并在新连接上产生新工作线程
  • 跨域属性的目的...?

    在图像和脚本标签中 我的理解是您可以访问其他域上的脚本和图像 那么什么时候使用这个属性呢 这是当您想要限制其他人访问您的脚本和图像的能力时吗 Images https developer mozilla org en US docs Web
  • 使用 java 构建 wsdl 的框架或工具

    JAVA中有没有什么优秀的工具来处理webservice或wsdl 是的 有一个标准化的API JAX WS http en wikipedia org wiki JAX WS 甚至集成到 Java 标准 API javax xml ws包
  • 延迟加载 Facebook Like 按钮脚本

    Google pagespeed 正在抱怨我的 facebook 之类的按钮脚本 我怎样才能推迟脚本 在初始页面加载期间解析了 45KiB 的 JavaScript 延迟解析 JavaScript 用于减少页面渲染的阻塞 http stat
  • 如何使用多个 ssh 密钥 [重复]

    这个问题在这里已经有答案了 GitHub 用户 我是 github 的新手 并且在 git 设置方面遇到一些问题 我在 github 上有 2 个不同用户的帐户 并且我在系统上设置了 git 2 次 First ssh文件夹 像往常一样 包
  • Hibernate @Enumerated 似乎被忽略

    我有课Person使用带有枚举的注释进行映射Sex指的是性别 是男性还是女性 让我们来看看 Entity Table name PERSON public class Person Id GeneratedValue strategy Ge
  • 无需切换 selenium webdriver 即可获取窗口标题

    有没有办法在不进行任何硒切换的情况下获取窗口标题 目前我正在使用下面的代码 public boolean switchToWindowByTitle String title String currentWindow driver getW
  • 是否可以打开 regedit 并使用 process.start 直接导航到特定键?

    我正在制作一个小工具 可以在注册表中写入一个密钥 其中一小部分只是为了方便起见 只需单击一个按钮即可立即导航到该密钥 我已经知道如何打开 regedit exe 但是有没有办法立即导航到我需要的密钥 我正在尝试与 System Diagno
  • 无法将 HAProxy 实现为 HTTPS 的转发代理

    我正在尝试使用 HAProxy 作为转发代理 它适用于 HTTP 但不适用于 HTTPS 下面是我的 HTTP HAProxy 配置 listen forward http proxy bind 80 http request do res
  • Pivot_longer 6 列至 3 列

    我知道我的问题很简单 但我整个早上都在尝试 但我无法解决这个问题 我有这个数据框 GeneID Gene Symbol01 Ratio 2h Ratio 6h Ratio 10h Ratio 24h Pvalue 2h 1 174 FUT
  • JSF 2.0:如何用自定义渲染器覆盖基本渲染器?

    我正在尝试覆盖渲染器h selectBooleanCheckbox 出于所解释的原因here http www i coding de www en jsf bug selectbooleancheckbox converter html
  • 使用 json 从本地文件传递数据

    我正在尝试将数据从 JSON 文件传递 到简单的 ViewController 上 但我不知道在哪里实际传递该数据 我可以添加到我的setDataToJson方法或者我会将数据添加到我的viewDidLoad method 这是我的代码 i