\ [NSString stringWithUTF8String:“hello”\]返回nil。咦?

时间:2015-03-10 23:27:28

标签: ios nsstring

我正在尝试解决最近移植到64位的iOS程序中的问题。

我发现stringWithUTF8String总是返回nil,我能够将问题缩小到非常简单的12个衬里。这是我的main.m文件

#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");
  }
}
当我在iPad Air 2上调试程序时,

s1,s2和s3为零!

我倾向于认为代码中可能存在明显的问题,或者项目设置中存在配置错误,因为它被移植到64位(此代码用于完美地工作)。

有没有人有线索?

提前致谢

编辑: 我刚刚在OSX(文件|新项目|命令行工具)下的新项目中测试了代码,它可以工作。 所以,我的问题似乎是由于项目设置。我不知道在哪里看。

0 个答案:

没有答案