在 iOS 4.2 SDK 中返回 NSString 的函数总是返回 nil

Posted

技术标签:

【中文标题】在 iOS 4.2 SDK 中返回 NSString 的函数总是返回 nil【英文标题】:Function Returning NSString Always Returns nil in iOS 4.2 SDK 【发布时间】:2010-11-26 15:38:14 【问题描述】:

以下代码虽然不一定漂亮,但在 ios 4.1 中工作得非常好(返回一个 NSString 和带有传递 URL 的格式化 html)。然而,在 iOS 4.2.1 中,如果使用 stringWithFormat,该函数总是返回 nil。 NSLog 显示 embedHTML 的内容是正确的,但 *html 的值总是 nil。

感谢任何帮助。

....
NSString *html = [self getHTML:urlString1];
....

- (NSString *)getHTML:(NSString *) url 

NSString *embedHTML = [NSString stringWithFormat:@"<html><head>\
<style type=\"text/css\">\
body \
background-color: transparent;\
color: white;\
</style>\
</head><body style=\"margin:0\">\
<embed id=\"yt\" src=\"%@\" type=\"application/x-shockwave-flash\" \
width=\"111\" height=\"116f\"></embed>\
</body></html>", url];

NSLog(@"Log: %@", embedHTML);

return embedHTML;

【问题讨论】:

【参考方案1】:

在每条分割线周围加上引号。你不应该需要反斜杠。

这个问题与 C++ 类似,但我认为同样的规则也适用于 Objective C

Splitting C++ Strings Onto Multiple Lines (Code Syntax, Not Parsing)

【讨论】:

感谢您的建议。事实证明,我试图插入的字符串中实际上存在一个问题,它把所有东西都扔掉了。为了长篇大论,它是固定的。【参考方案2】:

试试这个

NSString *html = [NSString stringWithFormat:@"<html><head>\
                       <style type=\"text/css\">\
                       body \
                       background-color: transparent;\
                       color: white;\
                       </style>\
                       </head><body style=\"margin:0\">\
                       <embed id=\"yt\" src=\"%@\" type=\"application/x-shockwave-flash\" \
                       width=\"111\" height=\"116f\"></embed>\
                       </body></html>", urlString1];

【讨论】:

也许值得注意的是,即使我把代码内联vs一个函数,结果还是nil... 陌生人和陌生人......仍然 *html 是 nil -- 甚至是内联的。 即使是这么简单的一行也返回 nil: NSString *html = [NSString stringWithFormat:@"Test String: %@", @"iPhone"]; 可能是 xcode 或 iOS SDK 有问题。尝试重新安装它们。 是的——我试着重新运行安装程序,但没有骰子。但是,我只是在另一个系统上运行它,它工作。看起来完全卸载并重新安装是为了。我会告诉你的。

以上是关于在 iOS 4.2 SDK 中返回 NSString 的函数总是返回 nil的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Xcode 4.2 中包含低于 4.3 的 iOS SDK

如何在 Xcode 4.0.2 中使用 iOS SDK 4.2

Xcode SDK IOS 4.2 安装和构建设置中缺少 iOS 4.1

无法下载 http://adcdownload.apple.com/ios/ios_sdk_4.2__final/xcode_3.2.5_and_ios_sdk_4.2_final.dmg

具有嵌套 UINavigationController 的应用程序在 iOS SDK 4.2 中崩溃

Facebook sdk 3.0 与 iOS 5 和 Xcode 4.2