iOS 6 - 未显示HTML编码的实体

时间:2013-08-05 05:39:30

标签: html iphone ios ios6 character-encoding

我正在尝试在UI中显示以下HTML编码形式的字符串。

 ひょ䥜 姌祦橯ね褎 れずしゅぎゅ穃 ぢょ簨ゝじ氯 苯䛣蟤 覵だ盨ꤎ拣 夯ぢゃ焯埥榥 楎べ楚 坩づ, 覌びょ は䦞びぢじょ 氧へヴェ栤儦 ぢゅ大廩 ぷ諥 礊䛨にょ 襦綦卣楌䨵 が椧りゅ樃驌 蟥ゞ睥盥䨣 騌捯 驩ぎょちゅ レ゜㩟カグォ階 猪仯壪黨ザ れずしゅぎゅ穃, お䤂 ぴゅにゅ䧣鏨以 コざちゃ㠤ジョ 苨䰯お

使用此library,我编写了以下代码

#import "NSString+HTML.h"
NSLog(@"%@",plainText);           
NSLog(@"%@",[plainText stringByDecodingHTMLEntities]);

在执行代码时,我遇到以下异常:

    -[__NSCFString stringByDecodingHTMLEntities]: unrecognized selector sent to instance 0x7bd4200
     *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 

'-[__NSCFString stringByDecodingHTMLEntities]: unrecognized selector sent to instance 0x7bd4200'
    *** First throw call stack:
    (0x1caa012 0x10e7e7e 0x1d354bd 0x1c99bbc 0x1c9994e 0xa72d 0x4a0e53f 0x4a20014 0x4a107d5 0x1c50af5 0x1c4ff44 0x1c4fe1b 0x1c047e3 0x1c04668 0x2bffc 0x237d 0x22a5 0x1)
    libc++abi.dylib: terminate called throwing an exception

注意:我还在this链接上测试了我的HTML编码字符串,发现我的字符串格式没有错误。

2 个答案:

答案 0 :(得分:0)

#import "NSString+HTML.h"
NSLog(@"%@",plainText);           
NSLog(@"%@",[plainText stringByDecodingHTMLEntities]);

您需要将NSString+HTML.hNSString+HTML.mGTMNSString+HTML.hGTMNSString+HTML.m文件添加到您的项目中

add -fno-objc-arc 

构建阶段 - >编译源 - >选择GTMNSString + HTML.m - >双击右侧编译器标志并添加-fno-objc-arc

答案 1 :(得分:0)

事情非常好。我只需要通过双击 NSString + HTML.m GTMNSString + HTML.m 来添加编译源标志 -fno-objc-arc 在“编译源”选项卡下。

  1. 刚导入NSString+HTML.m,无需导入其他类
  2. 在添加标记之前,首先在“编译源”选项卡中拖放 NSString + HTML.m GTMNSString + HTML.m