首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用大的、恒定的html字符串初始化NSStrings

使用大的、恒定的html字符串初始化NSStrings
EN

Stack Overflow用户
提问于 2011-08-14 01:09:04
回答 1查看 792关注 0票数 0

我有一个很大的常量html字符串,我想把它显示在我的UIWebView上。由于某些原因,当我尝试使用常量字符串(带有@"LARGE_STRING“)时,我得到了一些奇怪的错误,说我在开头有一个不可预知的'@‘,我错过了’”‘字符的结尾,我使用了未声明的表达式等等。问题是-我确实对字符串进行了转义,至少其中的“。

我在这里错过了什么?

Tnx!

编辑:示例:

代码语言:javascript
运行
复制
/*
* 提示:该行代码过长,系统自动注释不进行高亮。一键复制会移除系统注释 
* NSString *myString = [NSString stringWithString:@"<title>בסיסי HTML לימוד</title> <META http-equiv="Content-Type" content="text/html; charset=iso-8859-8"> <body  bgcolor="#b5deef"bbackground="gifs/rekablue.gif"> <center> <table border=0 cellpadding=0 cellspacing=0> <tr> <td> <table border=0 cellpadding=0 cellspacing=0> <tr> <td> <table border=0 cellpadding=0 cellspacing=0><tr> <td width="246"></td> <td><img src="gifs/lim.gif"></td><td width="50"></td><td><a href="basic1.htm"><img src="gifs/hak.gif" border=0></a></td> </tr></table> <tr><td> <table border=0 cellpadding=0 cellspacing=0><tr>  <td width="230"></td> <td><img src="gifs/m.gif"></td><td width="55"></td><td><a href="basic2.htm"><img src="gifs/ktiv.gif" border=0></a></td> </tr></table> <tr><td> <table border=0 cellpadding=0 cellspacing=0><tr> <td width="207"></td> <td><img src="gifs/ud.gif"></td><td width="60"></td><td><a href="basic2.htm"><img src="gifs/amud.gif" border=0></a></td> </tr></table> <tr><td> <table border=0 cellpadding=0 cellspacing=0><tr> <td width="163"></td> <td><img src="gifs/tl.gif"></td><td width="55"></td><td><a href="basic2.htm"><img src="gifs/reshon.gif" border=0></a></td> </tr></table> <tr><td> <table border=0 cellpadding=0 cellspacing=0><tr> <td width="133"></td> <td><img src="gifs/ml.gif"></td><td width="55"></td><td><a href="basic3.htm"><img src="gifs/text1.gif" border=0></a></td>  </tr></table> <tr><td> <table border=0 cellpadding=0 cellspacing=0><tr> <td width="108"></td> <td><img src="gifs/t.gif"></td><td width="35"></td><td><a href="basic4.htm"><img src="gifs/kish.gif" border=0></a></td> </tr></table> <tr><td> <table border=0 cellpadding=0 cellspacing=0><tr> <td width="93"></td> <td><img src="gifs/h.gif"></td><td width="35"></td><td><a href="basic5.htm"><img src="gifs/reshim1.gif" border=0></a></td> </tr></table> <tr><td> <table border=0 cellpadding=0 cellspacing=0><tr> <td width="70"></td> <td><img src="gifs/b.gif"></td><td width="42"></td><td><a href="basic6.htm"><img src="gifs/tmunot.gif" border=0></a></td> </tr></table> <tr><td>  <table border=0 cellpadding=0 cellspacing=0><tr> <td width="40"></td> <td><img src="gifs/s.gif"></td><td width="53"></td><td><a href="basic7.htm"><img src="gifs/rekaim1.gif" border=0></a></td> </tr></table> <tr><td> <table border=0 cellpadding=0 cellspacing=0><tr> <td width="10"></td> <td><img src="gifs/s1.gif"></td><td width="45"></td><td><a href="basic9.htm"><img src="gifs/tfasim.gif" border=0></a></td> </tr></table> <tr><td> <table border=0 cellpadding=0 cellspacing=0><tr> <td width="8"></td> <td valign=top><img src="gifs/si.gif"></td><td width="30"></td><td><a href="basic8.htm" border=0><img src="gifs/tavlaot.gif" border=0></a></td> </tr></table> </td></tr> </table> </td>  <td valign=bottom><a href="default.htm" onMouseOver="self.status='חזרה לעמוד פתיחה';return true" onMouseOut="self.status='';return true"><img src="gifs/shtml11.gif" border=0></a>   <a href="bm_guide.htm#html" onMouseOver="self.status='אתרים נוספים';return true" onMouseOut="self.status='';return true"><img src="gifs/shtml10.gif" border=0></a></td></tr></table> </center> </body>"];
*/
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-14 01:35:12

如果字符串中有“字符,则必须对它们进行转义:

代码语言:javascript
运行
复制
    NSString *myString = @"This string contains \"quotes\". If they are not \"escaped\", that will cause errors".

或者,另一种可能是,您正在使用#定义,如

代码语言:javascript
运行
复制
#define LARGE_STRING "This is an extremely large string (well, OK, not so large)"

那么你应该这样做

代码语言:javascript
运行
复制
#define LARGE_STRING @"This is an extremely large string (well, OK, not so large)"

代码语言:javascript
运行
复制
    NSString *myString = LARGE_STRING;

编辑

嗯..。您的示例看起来很好。如果它确实包含HTML式的"代码而不是硬编码的"字符,那么它应该进行编译。只需确保您的字符串(它确实很长)没有用硬换行符包装。

我刚刚尝试过,您的示例在Objective-C (Xcode4.1)中编译得很好。请注意,如果您尝试将这样的字符串传递给C函数,则应首先将其转换为有效的C字符串。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7052021

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档