- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 Realm 的新手。现在我有一个简单的应用程序,可以从 api 中提取新闻文章。第一个 View Controller 显示文章标题列表,第二个 View Controller 显示从 webView
中的 tableView
中选择的文章。
我想使用 Realm 来存储来自 API 的数据,因此即使没有互联网连接,tableView
也会显示结果。
我看到使用 Mantle
的教程,但我正在尝试不使用它。
这是我迄今为止尝试过的方法,但是我对 valueForKey
的使用导致应用程序崩溃,所以我将其注释掉了。
- (void)startParsing
{
NSXMLParser *xmlparser = [[NSXMLParser alloc] initWithContentsOfURL:[NSURL URLWithString:@"http://images.apple.com/main/rss/hotnews/hotnews.rss#sthash.TyhRD7Zy.dpuf"]];
[xmlparser setDelegate:self];
[xmlparser parse];
if (_marrXMLDataCollection.count != 0) {
Data *dataRealm = [[Data alloc] init];
dataRealm.titleR = @"Temporary title";
// dataRealm.titleR = [_marrXMLDataCollection valueForKey:@"title"];
RLMRealm *realm = [RLMRealm defaultRealm];
[realm beginWriteTransaction];
[realm addObject:dataRealm];
[realm commitWriteTransaction];
[self.collectionView reloadData];
}
}
任何想法都会很棒,谢谢!
如果需要,这里有更多信息:
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict;
{
if ([elementName isEqualToString:@"rss"]) {
_marrXMLDataCollection = [[NSMutableArray alloc] init];
}
if ([elementName isEqualToString:@"item"]) {
_mdictXMLPartCollection = [[NSMutableDictionary alloc] init];
}
}
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string;
{
if (!_mstrXMLStringCollection) {
_mstrXMLStringCollection = [[NSMutableString alloc] initWithString:string];
}
else {
[_mstrXMLStringCollection appendString:string];
}
}
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName;
{
if ([elementName isEqualToString:@"title"]
|| [elementName isEqualToString:@"pubDate"]
|| [elementName isEqualToString:@"link"]
) {
[_mdictXMLPartCollection setObject:_mstrXMLStringCollection forKey:elementName];
}
if ([elementName isEqualToString:@"item"]) {
[_marrXMLDataCollection addObject:_mdictXMLPartCollection];
}
_mstrXMLStringCollection = nil;
}
最佳答案
我猜你看到的是 this article on the Realm website关于整合 Realm 和 Mantle。
绝对没有必要将 Realm 与任何第三方解析库一起使用。那篇文章中 Mantle 的要点是更容易将来自 REST API 的 JSON 响应转换为模型对象(包括过程中的日期字符串到 NSDate
之类的东西),然后可以移交到 Realm 对象。
您的 Realm 代码在这里看起来是正确的(假设 Date
已正确地成为 RLMObject
的子类),所以看起来您的 XML 解析代码有问题. NSXMLParser
是一个使用起来相当棘手的类,因为它需要您通过委托(delegate)回调按顺序构建 XML 数据图。
为了解析从 API 提供的 XML(即,它本质上是小的、离散的 block 。NSXMLParser
是为非常大的 XML 数据集设计的。),我建议改为使用另一个 XML 库,它在交给您之前遍历并处理整个 XML 集。我用过 TBXML在之前发布的应用程序中,有 a Ray Wenderlich article讨论了其中的更多内容(诚然,在这一点上它已经过时了)。
如果其他人知道推荐的任何更新的 XML 库,请插话。:)
关于ios - 在 Realm 中存储来自 API 的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38207257/
我需要将文本放在 中在一个 Div 中,在另一个 Div 中,在另一个 Div 中。所以这是它的样子: #document Change PIN
奇怪的事情发生了。 我有一个基本的 html 代码。 html,头部, body 。(因为我收到了一些反对票,这里是完整的代码) 这是我的CSS: html { backgroun
我正在尝试将 Assets 中的一组图像加载到 UICollectionview 中存在的 ImageView 中,但每当我运行应用程序时它都会显示错误。而且也没有显示图像。 我在ViewDidLoa
我需要根据带参数的 perl 脚本的输出更改一些环境变量。在 tcsh 中,我可以使用别名命令来评估 perl 脚本的输出。 tcsh: alias setsdk 'eval `/localhome/
我使用 Windows 身份验证创建了一个新的 Blazor(服务器端)应用程序,并使用 IIS Express 运行它。它将显示一条消息“Hello Domain\User!”来自右上方的以下 Ra
这是我的方法 void login(Event event);我想知道 Kotlin 中应该如何 最佳答案 在 Kotlin 中通配符运算符是 * 。它指示编译器它是未知的,但一旦知道,就不会有其他类
看下面的代码 for story in book if story.title.length < 140 - var story
我正在尝试用 C 语言学习字符串处理。我写了一个程序,它存储了一些音乐轨道,并帮助用户检查他/她想到的歌曲是否存在于存储的轨道中。这是通过要求用户输入一串字符来完成的。然后程序使用 strstr()
我正在学习 sscanf 并遇到如下格式字符串: sscanf("%[^:]:%[^*=]%*[*=]%n",a,b,&c); 我理解 %[^:] 部分意味着扫描直到遇到 ':' 并将其分配给 a。:
def char_check(x,y): if (str(x) in y or x.find(y) > -1) or (str(y) in x or y.find(x) > -1):
我有一种情况,我想将文本文件中的现有行包含到一个新 block 中。 line 1 line 2 line in block line 3 line 4 应该变成 line 1 line 2 line
我有一个新项目,我正在尝试设置 Django 调试工具栏。首先,我尝试了快速设置,它只涉及将 'debug_toolbar' 添加到我的已安装应用程序列表中。有了这个,当我转到我的根 URL 时,调试
在 Matlab 中,如果我有一个函数 f,例如签名是 f(a,b,c),我可以创建一个只有一个变量 b 的函数,它将使用固定的 a=a1 和 c=c1 调用 f: g = @(b) f(a1, b,
我不明白为什么 ForEach 中的元素之间有多余的垂直间距在 VStack 里面在 ScrollView 里面使用 GeometryReader 时渲染自定义水平分隔线。 Scrol
我想知道,是否有关于何时使用 session 和 cookie 的指南或最佳实践? 什么应该和什么不应该存储在其中?谢谢! 最佳答案 这些文档很好地了解了 session cookie 的安全问题以及
我在 scipy/numpy 中有一个 Nx3 矩阵,我想用它制作一个 3 维条形图,其中 X 轴和 Y 轴由矩阵的第一列和第二列的值、高度确定每个条形的 是矩阵中的第三列,条形的数量由 N 确定。
假设我用两种不同的方式初始化信号量 sem_init(&randomsem,0,1) sem_init(&randomsem,0,0) 现在, sem_wait(&randomsem) 在这两种情况下
我怀疑该值如何存储在“WORD”中,因为 PStr 包含实际输出。? 既然Pstr中存储的是小写到大写的字母,那么在printf中如何将其给出为“WORD”。有人可以吗?解释一下? #include
我有一个 3x3 数组: var my_array = [[0,1,2], [3,4,5], [6,7,8]]; 并想获得它的第一个 2
我意识到您可以使用如下方式轻松检查焦点: var hasFocus = true; $(window).blur(function(){ hasFocus = false; }); $(win
我是一名优秀的程序员,十分优秀!