2

在这种情况下,如何从 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 中的所有可能的字符串)?

4

2 回答 2

13

只需通过一个 C 字符串:

[NSString stringWithUTF8String:cardType.c_str()]

或使用新语法:

@(cardType.c_str())

于 2013-03-14T02:56:28.810 回答
0

这是一个例子:

string str_simple = "HELLO WORLD";

//string to NSString

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


NSLog(stringinObjC);
于 2016-08-13T07:01:59.940 回答