从std :: string转换为NSString

时间:2013-03-13 21:11:50

标签: objective-c objective-c++

在这种情况下,如何将std :: string转换为NSString?

void Piles::imagePlacer(Card card, int xCoord, int yCoord) {
    string cardType = card.toString();

    UIImageView *cardImg = [[UIImageView alloc]
                 initWithImage:cardType];
    cardImg.frame = CGRectMake(xCoord, yCoord, 126, 190);
    [self.view addSubview:cardImg];
}

我想使用一个字符串作为图像的名称(假设我有一个UIImages列表,其名称与cardType中存储的所有可能字符串相对应)?

2 个答案:

答案 0 :(得分:12)

只需浏览一下C字符串:

[NSString stringWithUTF8String:cardType.c_str()]

或使用新语法:

@(cardType.c_str())

答案 1 :(得分:0)

以下是此示例:

string str_simple = "HELLO WORLD";

//string to NSString

NSString *stringinObjC = [NSString stringWithCString:str_simple.c_str()
                            encoding:[NSString defaultCStringEncoding]];


NSLog(stringinObjC);