2013-08-26 48 views
0

我有這個小碼:如何把目標C中的轉義序列?

NSString *size = [LabelNewContent stringByEvaluatingJavaScriptFromString:@"return  Math.max(
document.body.scrollHeight, document.documentElement.scrollHeight, 
document.body.offsetHeight, document.documentElement.offsetHeight, 
document.body.clientHeight, document.documentElement.clientHeight 
);"]; 

問題是Xcode的犯規承認括號和逗號整個字符串。

回答

-2

通過

NSString *size = [LabelNewContent stringByEvaluatingJavaScriptFromString:@"return %f",Math.max(
         document.body.scrollHeight, document.documentElement.scrollHeight, 
         document.body.offsetHeight, document.documentElement.offsetHeight, 
         document.body.clientHeight, document.documentElement.clientHeight 
        )]; 

希望它會幫助你更換你的代碼。

+2

這是不正確的。 'Math.max()','document.body.etc'和'document.documentElement.etc'都是JavaScript,因此應該在字符串中。 [Inder Kumar Rathore的答案](http://stackoverflow.com/a/18442812/255489)是正確的。 –

8

使用\讓它多行字符串

NSString *size = [LabelNewContent stringByEvaluatingJavaScriptFromString:@"return  Math.max(\ 
document.body.scrollHeight, document.documentElement.scrollHeight,\ 
document.body.offsetHeight, document.documentElement.offsetHeight,\ 
document.body.clientHeight, document.documentElement.clientHeight\ 
);"]; 
+6

原因:不能將字符串文字包裝在多行而不轉義回車符。 – Wain

0
NSString *size = [LabelNewContent stringByEvaluatingJavaScriptFromString:@"return  Math.max/(document.body.scrollHeight, document.documentElement.scrollHeight,document.body.offsetHeight, document.documentElement.offsetHeight, document.body.clientHeight, document.documentElement.clientHeight);"]; 

嘗試上述事情