使用Swift的TFHpple框架编译错误

时间:2014-06-16 05:43:24

标签: objective-c compiler-errors swift

我有这个HTML,

 <div class="header1" style="text-align: center;">


 <div class="s">
          <center>
                  <table>
       <tr>
                          <td>
                     <ul style="position: relative;">
                       <li>
                    <a>
         <p>
   Apple Kid

        </p>

我希望使用Swift将“Apple kid”这个词作为输出。

我为此使用了TFHpple框架,但在添加所有必要的东西之后它显示错误。就像在Objective-C文件中一样

the  XPathQuery.h
//
//  XPathQuery.h
//  FuelFinder
//
//  Created by Matt Gallagher on 4/08/08.
//  Copyright 2008 __MyCompanyName__. All rights reserved.
//

NSArray *PerformHTMLXPathQuery(NSData *document, NSString *query);
NSArray *PerformHTMLXPathQueryWithEncoding(NSData *document, NSString *query,NSString *encoding);
NSArray *PerformXMLXPathQuery(NSData *document, NSString *query);
NSArray *PerformXMLXPathQueryWithEncoding(NSData *document, NSString *query,NSString *encoding);

在这些函数中显示有关未知类型的错误。

XpathQuery.m

//
//  XPathQuery.m
//  FuelFinder
//
//  Created by Matt Gallagher on 4/08/08.
//  Copyright 2008 __MyCompanyName__. All rights reserved.
//

#import "XPathQuery.h"

#import <libxml/tree.h>
#import <libxml/parser.h>
#import <libxml/HTMLparser.h>
#import <libxml/xpath.h>
#import <libxml/xpathInternals.h>

NSDictionary *DictionaryForNode(xmlNodePtr currentNode, NSMutableDictionary *parentResult,BOOL parentContent);
NSArray *PerformXPathQuery(xmlDocPtr doc, NSString *query);

1 个答案:

答案 0 :(得分:0)

你应该分享你收到的确切错误,但我使用Swift的TFHpple没有任何问题。与Objective-C一样,你必须

  • 确保您在构建阶段链接到libxml

  • $(SDKROOT)/usr/include/libxml2添加到构建设置

  • 中的标题搜索路径

请参阅Wenderlich How To Parse HTML on iOS或Cocoa with Love Using libxml2 for XML parsing and XPath queries in Cocoa的安装说明。

将TFHpple源添加到项目时,系统会提示您创建桥接标头。这样做,然后将#import "TFHpple"添加到其中。有关更多信息,请参阅使用Swift with Cocoa和Objective-C 指南的Swift and Objective-C in the Same Project章节中的将Objective-C导入Swift 部分。

一旦你这样做,你应该能够使用TFHpple而不会发生Swift事件。