标签: tbxml

TBXML和<?xml>标记问题

这是我的问题:

我在我的iPad应用程序中使用TBXML.XML服务器响应以xml描述行开头:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
Run Code Online (Sandbox Code Playgroud)

并且TBXML无法解析节点(即nextSibling方法变为null).将XML转换为字符串以删除行不是一个选项,因为我直接使用NSData对象与tbxmlWithXMLData()方法来创建我的TBXML对象.

我该怎么做才能让TBXML理解我的XML?如果没有,有没有办法从NSData中删除该行?

谢谢大家.

xml iphone objective-c ipad tbxml

7
推荐指数
1
解决办法
504
查看次数

iOS 8扩展中的TBXML无法构建

在我的iOS应用程序中,我使用TBXML进行xml处理,它没有正式更新,但它仍然适合我.

我正在尝试为iOS 8创建Today扩展,当我将TBXML添加为编译源时,我得到以下内容:

TBXML.h TBXML.h

在添加扩展之前,我没有TBXML的任何构建问题.

有关如何解决此问题的任何想法?

谢谢

ios tbxml ios8

3
推荐指数
1
解决办法
1373
查看次数

UITableView reloadData占用了太多时间

我正在使用TBXML + HTTP从网站获取XML数据.我想要做的是用处理过的数据填充UITableView.我已经创建了一个包含所有条目的NSMutableArray,并且就此而言,一切正常.问题是,在成功从服务器获取数据并将其存储在数组中之后,我尝试使用更新表来显示数据reloadData.

用20行填充表大约需要5秒钟.奇怪的是,提取发生得非常快,因此数据可以立即获得.我不明白花了这么长时间.以下是日志中的一些信息:

2012-03-17 18:46:01.045 MakeMyApp[4571:207] numberOfSectionsInTableView: 1
2012-03-17 18:46:01.047 MakeMyApp[4571:207] numberOfRowsInSection: 0
2012-03-17 18:46:01.244 MakeMyApp[4571:1f03] numberOfSectionsInTableView: 1
2012-03-17 18:46:01.245 MakeMyApp[4571:1f03] numberOfRowsInSection: 20
2012-03-17 18:46:01.245 MakeMyApp[4571:1f03] Ok, I'm done. 20 objects in the array.
2012-03-17 18:46:01.246 MakeMyApp[4571:1f03] Finished XML processing.
2012-03-17 18:46:06.197 MakeMyApp[4571:1f03] cellForRowAtIndexPath:
Run Code Online (Sandbox Code Playgroud)

正如你所看到的那样,它会触发两次numberOfSectionsInTableView:/ numberOfRowsInSection:两次:第一次是视图加载时,第二种是当我加载时[self.tableView reloadData];

您可以看到,在不到一秒的时间内,数组将填充20个对象,并完成处理XML的所有工作.怎么在cellForRowAtIndexPath:5秒后被解雇?

以下是可能有助于发现问题的代码的一些部分:

- (void)createRequestFromXMLElement:(TBXMLElement *)element {
    // Let's extract all the information of the request
    int requestId = [[TBXML valueOfAttributeNamed:@"i" forElement:element] intValue];

    TBXMLElement *descriptionElement …
Run Code Online (Sandbox Code Playgroud)

sdk uitableview reloaddata ios tbxml

2
推荐指数
2
解决办法
4152
查看次数

更新的TBXML指南:如何在Xcode 5中包含TBXML,适用于iOS 7

我在项目中遇到包括TBXML在内的问题.

  1. 指南告诉我有四个文件,TBXML.h,TBXML.m,NSDataAdditions.h,和NSDataAdditions.m,但后两者都无处可寻GitHub的回购.

  2. 我试图运行示例项目TBXML-Books,希望复制TBXML如何导入项目,但它也不能在Xcode 5中成功构建.它找不到libTBXML-iOS.a.

有人帮忙吗?提前致谢.

xml xcode objective-c ios tbxml

2
推荐指数
1
解决办法
4252
查看次数

Objective C 中的前向声明结构

我正在编写一个 iOS 应用程序,其中有一个模型类,它将使用我提供给它的 XMLElement 来初始化自身。

我使用 TBXML 作为 XML 部分。

模型类的标头如下所示:

@interface CatalogItem : NSManagedObject

@property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) NSManagedObject *group;

-(id)initWithXMLElement:(TBXMLElement*)element;

@end
Run Code Online (Sandbox Code Playgroud)

现在,我不想包含定义 TBXMLElement 的标头,而是struct TBXMLElement在类定义之前使用: 转发声明它。然而,我收到“预期类型”错误,告诉我我的声明不起作用。这不是我会得到的结果吗?

据我了解,在头文件中包含头文件是不好的做法。编译器不需要知道 的内部工作原理TBXMLElement,只需知道它在编译时存在或将存在即可。

objective-c ios tbxml

1
推荐指数
1
解决办法
1383
查看次数

解析XML时,数组被覆盖(Objective-C)

我正在使用TBXML解析器,但遇到了一些困难.

我使用以下代码将产品对象中的数据添加到名为laarzen的MutableArray中.

- (void)loadURL {
    // Load and parse an xml string
    Products *product = [[Products alloc] init];
    tbxml = [[TBXML alloc] initWithURL:[NSURL URLWithString:@"url..."]];

    // If TBXML found a root node, process element and iterate all children

    // Obtain root element
    TBXMLElement * root = tbxml.rootXMLElement;

    // if root element is valid
    if (root) {
        // search for the first category element within the root element's children

        TBXMLElement * Category = [TBXML childElementNamed:@"Category" parentElement:root];
        Products *product = [[Products alloc] init]; …
Run Code Online (Sandbox Code Playgroud)

iphone memory-management objective-c ios tbxml

0
推荐指数
1
解决办法
341
查看次数

标签 统计

tbxml ×6

ios ×5

objective-c ×4

iphone ×2

xml ×2

ios8 ×1

ipad ×1

memory-management ×1

reloaddata ×1

sdk ×1

uitableview ×1

xcode ×1