Ios \[NSString stringWithUTF8String:“hello”\]返回零。嗯?
我正在尝试解决最近移植到64位的iOS程序中的一个问题 我发现stringWithUTF8String总是返回nil,并且我能够将问题缩小到非常简单的12行。这是我的主.m文件Ios \[NSString stringWithUTF8String:“hello”\]返回零。嗯?,ios,nsstring,Ios,Nsstring,我正在尝试解决最近移植到64位的iOS程序中的一个问题 我发现stringWithUTF8String总是返回nil,并且我能够将问题缩小到非常简单的12行。这是我的主.m文件 #import <UIKit/UIKit.h> #include <string> int main(int argc, char* argv[]) { std::string a("hello"); NSString * s1 = [NSString stringWithUTF8Str
#import <UIKit/UIKit.h>
#include <string>
int main(int argc, char* argv[])
{
std::string a("hello");
NSString * s1 = [NSString stringWithUTF8String: a.c_str()];
NSString * s2 = [[NSString alloc] initWithUTF8String: a.c_str()];
NSString * s3 = [NSString stringWithUTF8String: "hello"];
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, @"AppDelegate");
}
}
#导入
#包括
int main(int argc,char*argv[])
{
std::字符串a(“hello”);
NSString*s1=[NSString stringWithUTF8String:a.c_str()];
NSString*s2=[[NSString alloc]initWithUTF8String:a.c_str()];
NSString*s3=[NSString stringWithUTF8String:“您好”];
@自动释放池{
返回UIApplicationMain(argc、argv、nil、@“AppDelegate”);
}
}
当我在iPad Air 2上调试程序时,s1、s2和s3为零
我倾向于认为代码中可能存在明显的问题,或者项目设置中存在配置错误,因为它被移植到64位(此代码过去工作得非常好)
有人有线索吗
提前谢谢
编辑:
我刚刚在OSX(File | new project | Command Line Tool)下的一个新项目中测试了该代码,它可以正常工作。
所以,我的问题似乎是由于项目设置。虽然我不知道去哪里看 您的示例代码按照我的预期运行。(也就是说,
s3
不是nil
)@亚伦:这是iPad上的吗?不是,是iPad空气模拟器。如果你正在搜索你的项目设置,也许可以看看你的优化?(它可能被优化了。)你怎么知道你得到了零?@hotlicks:通过设置断点和检查变量