保存 JSON 数据以供多个 UIView 使用时出现问题 [重复]

2023-12-23

我在访问已拉入的 JSON 数据时遇到了一些问题。我正在使用 JSONModel 来获取 JSON 数据,如下所示:

在我的左侧 ViewController.m 的顶部

@interface LeftViewController ()
{
    PostgresFeed* _feed;
}

然后往下看:

-(void)viewDidAppear:(BOOL)animated
{

JSONHTTPClient getJSONFromURLWithString:@"myurl" completion:^(NSDictionary *json,  JSONModelError *err) {
NSError *error = nil;

       _feed = [[PostgresFeed alloc] initWithDictionary:json error:&error];

       NSLog(@"Players: %@", feed.player);

       [self.tableView reloadData];

    }];
}

-(void)fetchedData:(NSData *)responseData
{
     NSError* error;
     NSDictionary* playerData = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error];

     NSMutableDictionary* player = [playerData objectForKey:@"player"];
}

- (id)initWithCoder:(NSCoder *)aDecoder
{
    if (self = [super initWithCoder:aDecoder])
    {
        _feed.player = [NSMutableArray array];
    }
return self;
}

在我的 PostgresFeed.h 中

@property (nonatomic, strong) NSString *playerName;
@property (nonatomic, strong) NSString *currentScore;
@property (nonatomic, strong) NSArray *totalPenalties;
@property (nonatomic, strong) NSString *timePlayed;

我的 PostgresFeed.m 中什么也没有

我知道,当我这样做时,我会将所需的所有数据获取到我的左视图控制器中,这是主详细信息的表视图。当我看到NSLog(@"Players: %@", feed.player);我可以看出我正在从数据库中获取我想要的所有数据。

如何访问我知道必须填充 DetailViewController 的数据?我应该使用 NSUserDefaults 吗?我应该创建一个新类来获取、解析和保存这些数据吗?

我对这一切都很陌生,因此非常感谢教程或类似教程的说明。如果需要更多代码或详细信息,请告诉我。

****编辑****

按照 @soryngod 的建议应用 NSNotificationCenter 后,我从我的系统中得到以下输出NSLog(@"%@", notification.userinfo);在我的右视图控制器中:

    2013-07-04 12:20:26.208 PlayerTracking[25777:11303] {
    player =     (
                {
            currentScore = "4";
            totalPenalties =             (
            );
            id = 9;
            name = "Jakob Melon";
            timeStarted = "2013-06-05 19:56:10";
        },
                {
            currentScore = 16;
            totalPenalties =             (
            );
            id = 10;
            name = "John China";
            timeStarted = "2013-06-06 17:21:300";
        },
                {
            currentScore = 178;
            totalPenalties =             (
            );
            id = 11;
            name = "Jason Dog";
            timeStarted = "2013-06-07 19:26:10";
        },
                {
            currentScore = 1233;
            totalPenalties =             (
            );
            id = 12;
            name = "Fox Wolfe";
            timeStarted = "2013-06-05 19:56:10";
        },
                {
            currentScore = 234;
            totalPenalties =             (
            );
            id = 13;
            name = "Dakota Cool";
            timeStarted = "2013-06-05 19:56:10";
        },
                {
            currentScore = "34234";
            totalPenalties =             (
            );
            id = 14;
            name = "Max Face";
            timeStarted = "2013-06-05 19:00:30";
        },
                {
            currentScore = "2342";
            totalPenalties =             (
            );
            id = 15;
            name = "Jonatan Blah";
            timeStarted = "2013-06-05 18:00:30";
        },
                {
            currentScore = "234234";
            totalPenalties =             (
            );
            id = 16;
            name = "Thomas Bus";
            timeStarted = "2013-06-05 19:56:10";
        },
                {
            currentScore = 34566;
            totalPenalties =             (
            );
            id = 17;
            name = "Super Cake";
            timeStarted = "2013-06-05 17:51:30";
        },
                {
            currentScore = "23463";
            totalPenalties =             (
            );
            id = 18;
            name = "Duke Nukem";
            timeStarted = "2013-06-07 19:26:10";
        },
                {
            currentScore = "12362";
            totalPenalties =             (
            );
            id = 19;
            name = "Gordon Freeman";
            timeStarted = "2013-06-05 19:56:10";
        }
    );
}

请不要介意名字。


你可以使用[NSNotificationCenter 默认中心]发布userInfo到 DetailController ,当收到数据时,您只需向 feed 发布一个通知,然后在详细控制器。

更明确地说:

你将其添加到你的 DetailViewController 中视图加载:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleNotification:) name:@"myNotification" object:nil];

然后你创建方法:

- (void) handleNotification:(NSNotification *) notification
{//Your information
NSLog(@"%@",notification.userInfo);
}

并从哪里收到您发布的 JSON,如下所示:

[[NSNotificationCenter defaultCenter] postNotificationName:@"myNotification" object:nil userInfo:yourDictionary];

让我知道这是否有帮助。

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

保存 JSON 数据以供多个 UIView 使用时出现问题 [重复] 的相关文章

  • 从 AVAudioRecorder 获取分贝

    我正在尝试从 AVAudio 录音机获取分贝值 这是我目前的代码 我有一个启动录音机的方法 然后是一个读取分贝值的方法 var recorder AVAudioRecorder 全局定义的记录器 然后在此处使用 func init reco
  • 如何读取 Xcode 6.1 Instruments .trace 文件?

    我一直在尝试阅读 trace文件 我使用生成的custom仪器模板 仪器 自动机 分配 Leaks using 仪器 https developer apple com library mac documentation Developer
  • 无法解析 JSON 文件中的 TAB

    我在加载 JSON 文件时遇到解析问题 这些文件似乎具有TAB他们身上的性格 当我去http jsonlint com http jsonlint com 然后我输入带有 TAB 字符的部分 My String Foo bar Bar fo
  • 如何使用存储在 Cocoa Touch 框架中的 Localized.strings?

    我想为 CocoaTouch 框架添加多语言支持 问题 可本地化的字符串我创建的文件仅被使用NSLocalizedString当它是主应用程序及其目标的一部分时 我想将其存储在框架内以将事物分开 我怎样才能使用可本地化的字符串当放置在 Co
  • Cordova iOS 启动画面

    我无法让闪屏停留在页面加载之前 我已经阅读了谷歌搜索第一页 第二页和第三页中的所有条目 我阅读了 stackoverflow 上发布的所有问题 包括一个很好的解释 https stackoverflow com questions 1800
  • 具有透明背景的 Swift 模态视图控制器 [重复]

    这个问题在这里已经有答案了 我知道这个话题很受欢迎 但我在编程语言中遇到了一些问题 事实是我仍然不明白我把代码放在哪里 好吧 我就来说说整个案子 我正在尝试制作一个与正常情况稍有不同的模态 Swift 通过单击按钮 ViewControll
  • 如何快速防止标签中出现孤儿?

    我有一个可以有一两行的标签 如果它有两行 我希望第二行至少有两个 或者可能三个 单词 而不仅仅是一个 关于如何使用 swift 实现这一点有什么想法吗 提前致谢 Daniel 编辑 我删除了我愚蠢的第一个想法 这些想法并没有真正的帮助 好吧
  • Mapkit 在 IOS 13 中使用过多的 CPU

    最近 在一些用户更新到 iOS 13 x 后 我的 iOS 应用程序开始频繁崩溃 在 iOS 12 x 中没有出现该问题 我正在使用 Mapkit 渲染一些 MKPolygons 和 MKPolylines MKPolylines 被删除并
  • 如何在 Xamarin.iOS 应用程序中创建导航?

    我习惯于与Xamarin Forms 我用 XAML 或 C 创建一个页面并导航到它 但现在这是我第一次尝试创建一个不适合的 iOS 应用程序Xamarin Forms 我在 Windows PC 上的 Visual Studio 中进行此
  • 返回一个dispatch_async获取的变量[重复]

    这个问题在这里已经有答案了 基本上 一个方法需要返回一个在dispatch async中获取的NSDictionary 这是我尝试过的 NSDictionary fetchNSDictionary dispatch queue t Queu
  • 如何将数据从一个视图传递到下一个视图?

    我正在制作一个下载排队系统来下载视频 处理下载的排队代码位于另一个视图控制器中 现在我的问题是如何将下载的 URL 传递到另一个视图而不推送到另一个视图控制器 如下所示 ViewConntroller View ViewConntrolle
  • ExpandableLabel iOS 中的“少看”

    我正在使用第三方库可扩展标签 https github com apploft ExpandableLabel实施一个see more特征 我正在寻找仅快速的解决方案 其中包含标签中的文本而不是按钮中的文本 因此这可以完美地工作 添加库并更
  • iOS JPEG 图像旋转 90 度

    我正在使用选择器视图从相册中选择图像 我使用上面的代码 void imagePickerController UIImagePickerController picker didFinishPickingMediaWithInfo NSDi
  • 尝试注册 RCTBridgeModule 类 RCTFileReaderModule

    尝试为名称 FileReaderModule 注册 RCTBridgeModule 类 RCTFileReaderModule 但该名称已由类 FileReaderModule 注册 尝试使用命令react native run ios在i
  • [[NSMutableDictionary alloc] initWithObjects:...] 和 [NSMutableDictionary DictionaryWithObjects:...] 之间的区别?

    仍在学习 Objective C iPhone SDK 我想我知道为什么这不起作用 但我只是想确认一下 In awakeFromNib 如果我使用 NSMutableDictionary alloc initWithObjects 它实际上
  • IOS 上图像的加密/解密

    我们正在使用加密 解密和 UIIMAGE 如果我们加密和解密 UIIMAge 而不保存到 iphone 画廊中 它工作正常 但如果我们加密 保存到画廊中 将 加密的图像 加载到应用程序中 然后解密它效果不好 我们使用这个函数来加密 解密 保
  • 调用了 numberOfRowsInSection 但未调用 cellForRowAtIndexPath

    在我的表视图中节中的行数被调用两次但是cellForRowAtIndexPath不叫 我想在 tableView 中显示 Facebook 好友列表 如果 cellForRowAtIndexPath 调用我的问题就解决了 我在这里的数组中得
  • Xamarin.Forms DataTemplateSelector 不适用于 iOS(未调用构造函数)

    我正在膨胀数据模板选择器 如下所示
  • GoogleSignIn ios 附加到谷歌表格

    我目前正在开发一个 iOS 应用程序 该应用程序需要写入登录用户拥有的 Google 工作表 要登录我正在使用的用户GoogleSignInpod 并附加到我正在使用的谷歌表GoogleAPIClientForREST Sheets pod
  • ArraySlice 中的 Swift [重复]

    这个问题在这里已经有答案了 在数组上使用 prefix 方法后 我得到了所谓的 arraySlice 我怎样才能将其转换为数组 我试图从 FacebookGraphApi 获取 Ints 然后请求前 3 个 前缀 3 并尝试将它们添加到新数

随机推荐

  • 由于访问控制列表,SSRS 401.3 错误访问被拒绝

    卸载 Oracle 10 客户端 安全补丁后 不知道是什么触发了它 我在用户访问我们的 SSRS 测试服务器时遇到了问题 首先发生的事情是 SQL 服务和 SSRS 服务拒绝在 NT AUTHORITY SYSTEM 下启动 当我将其更改为
  • 无法使用 dotnet CLI 和 nuspec 文件打包 NuGet 包

    我有几个项目正在从 NET Framework 4 7 迁移到 NET Standard 2 0 结果 我正在尝试使用dotnet pack命令来创建我的 NuGet 包 同时使用我的nuspec带有令牌的文件 我有几个自定义构建脚本可以为
  • 匹配引用的 csv 中的未转义引号

    我查看了几篇具有类似标题的 Stack Overflow 帖子 但没有一个已接受的答案对我有用 我有一个 CSV 文件 其中数据的每个 单元格 均由逗号分隔并被引用 包括数字 每行以换行符结束 一些文本 单元格 中有引号 我想使用正则表达式
  • ngrx 订阅存储不会在状态更改时更新 Angular 5

    我正在构建一个应用程序 它将城市名称发送到 api 端点并返回该城市的天气 它使用两个操作 一个将更新城市 使用名称作为有效负载 第二个操作加载返回的新数组以更新状态 该效果使用 switchMap 映射 api 调用然后返回结果 用于显示
  • jsf隐式对象cc和组件之间的区别

    也许这是一个愚蠢的问题 但我用 cc 引用复合组件 例如 cc attrs randomAttr 但我也看到了 component 隐式对象 我使用它是因为我被告知要这样做 但我不太明白它的用途 谁能解释一下吗 cc指评估时正在处理的顶级复
  • 在没有内置函数的情况下按降序排列文件中的元素

    我按照冒泡排序重新编写了程序 def main try array file open input Please enter the name of the file you wish to open A file read split f
  • SASS 和 SCSS 变量名称的合法字符

    SCSS 变量名称中可以使用哪些字符 如果你查看源代码SASS 词法分析器 https github com nex3 sass blob stable lib sass script lexer rb 你会看到的 A hash of re
  • 有没有办法检测 NaN 和 -NaN?

    我想将 lua 数字保存到字符串和句柄中NaN大小写正确 检测任何 NaN 都很容易 x x 然而 我发现只有一种检测方法是NaN or NaN是使用tostring x nan 有更好的方法吗 代替tostring x nan 不方便携带
  • Swift Calendar.当前内存泄漏?

    我在应用程序中遇到了内存问题 我已经能够将其分解为 NSCalendar 一个简单的视图控制器如下所示 class ViewController UIViewController override func viewDidLoad supe
  • 使用输入元素上的修饰键触发单击事件

    我正在为某些功能编写测试 其中涉及用户按住 Shift 键并单击复选框 我在用着 input trigger Event click shiftKey true 来模拟那个 但是当事件监听器被调用时 event shiftKey财产总是被报
  • 如何使用 javascript (jquery) 将整数值添加到返回字符串的值?

    我有一个简单的 html 块 例如 span 8 span 我尝试使用 jquery 将 1 添加到值 8 var currentValue replies text var newValue currentValue 1 replies
  • Win32 命名管道和消息大小限制 - 旧的 64K 限制是否仍然适用?

    Win32 过去对消息模式管道的消息大小限制为 64K 正如 KB 文章的残余所证明的那样Q119218 PRB 命名管道 Write 限制为 64K https support microsoft com en us kb 119218
  • BeautifulSoup:如何显示不显示的div的内部?

    我是 BeautifulSoup 的新手 我有一些我不明白的问题 我认为这个问题可能已经得到解答 但我找到的答案在这种情况下都没有帮助我 我需要访问 div 的内部来检索网站的词汇表条目 但是该 div 的内部似乎根本 不显示 在 Beau
  • 如何在Powershell中比较关联数组?

    我有两个关联数组 a k1 v1 k2 k21 v21 b k1 v1 k2 k21 v21 我想知道有没有什么好的方法可以在不编写自己的函数的情况下进行比较 除了编写一个函数来比较每个键的值之外 我不知道有什么方法 如果该值不是原始对象
  • Scrapy XPath 页面上的所有链接

    我正在尝试使用 Scrapy 收集某个域下的所有 URL 我试图使用 CrawlSpider 从主页开始抓取他们的网络 对于每个页面 我想使用 Xpath 提取所有的 href 并以键值对等格式存储数据 键 当前Url 值 该页面上的所有链
  • 将 netbean 升级到 JEE 8

    我的问题很简单 如何升级 Netbeans 8 2 以使用 Java EE 8 我已经安装了普通的 NB 8 2 和 glassfish 5 Java 1 8 并尝试使用 java 9 我已经安装了通过NB控制的GF 5服务器 当我创建新的
  • 服务器选择超时错误 Pymongo

    我第一次尝试 pymongo 但不断收到 ServerSelectionTimeoutError 使用 mongo 命令行登录时 我运行命令如下 mongo 3 0 ssl test net 27080 db qa sslAllowInva
  • 有没有办法将进程的标准输出发送到 SLF4J?

    我本质上是在做以下事情 Process process new ProcessBuilder command start InputStream stdout process getInputStream LoggerFactory get
  • 使用 JQL 过滤特定用户在一段时间内更新的问题

    有没有办法使用 JQL 查找特定用户在每天特定时间段更新的所有问题 或者是否有任何插件可以解决这个问题 如果更新意味着状态改变 你可以检查如下内容 status changed by user name and updated gt sta
  • 保存 JSON 数据以供多个 UIView 使用时出现问题 [重复]

    这个问题在这里已经有答案了 我在访问已拉入的 JSON 数据时遇到了一些问题 我正在使用 JSONModel 来获取 JSON 数据 如下所示 在我的左侧 ViewController m 的顶部 interface LeftViewCon