嗨,我想把标准的std::string分转换成NSString分,但我运气不太好.

我可以用下面的代码成功地从NSString转换成std::string

NSString *realm = @"Hollywood";
std::string REALM = [realm cStringUsingEncoding:[NSString defaultCStringEncoding]];

但是,当我try 以下操作时,我会出现编译时错误

NSString *errorMessage = [NSString stringWithCString:REALM encoding:[NSString defaultCStringEncoding]];

我得到的错误是

Cannot convert 'std::string' to 'const char*' in argument passing

我错过什么了吗?

提前谢谢.

推荐答案

从std::string中获取c-string以进行转换:

NSString *errorMessage = [NSString stringWithCString:REALM.c_str() 
                                   encoding:[NSString defaultCStringEncoding]];

Objective-c相关问答推荐

按住自定义 UIButton 时更改深灰色突出显示的 colored颜色 ?

使用 NSArray 初始化对象数组

常量的 k 前缀从何而来?

从 NSError 返回 NSString

setFont 已弃用?

与 iOS 6.0 原生 Facebook 集成共享:通过我的应用名称发布?

捕获组在 NSRegularExpression 中不起作用

如何在 iPhone 上默认显示数字键盘?

类在两者中都实现.将使用两者之一

arc4random 和 arc4random_uniform 有什么区别?

如何编写 OS X Finder 插件

在Objective-C中替换字符串中的一个字符

在 Objective C 中使用 extern

iPhone:在 UITextField 上禁用 Auto-Cap/autocorrect 问题

从 iPhone 设备查找当前国家

IOS 中的圆形进度条

获取最顶层的 UIViewController

为什么 detailTextLabel 不可见?

更改导航栏的字体

info.plist 中的Application Requires iPhone Environment键是什么意思?