在 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