unichar и NSString - насколько взаимозаменяемый это?

Попробуйте Это:

  1. Узнают видеокарты, которые Вы имеете: lspci | Установка grep VGA

  2. обновила драйвер Intel: https://launchpad.net / ~ ubuntu-x-swat / + archive/x-updates

  3. , Если осторожной картой является AMD/ATI: http://support.amd.com/us/gpudownload/linux/Pages/radeon_linux.aspx http://wiki.cchtml.com/index.php/Ubuntu_Precise_Installation_Guide

Сообщает нам, работает ли это :)

34
задан Bhanu 8 April 2014 в 07:53
поделиться

1 ответ

You have two options: the first is a category adding a stringWithUnichar method to NSString:

@interface NSString (MNNSStringWithUnichar)
+ (NSString *) stringWithUnichar: (unichar) value;
@end


@implementation NSString (MNNSStringWithUnichar)

+ (NSString *) stringWithUnichar:(unichar) value {
     NSString *str = [NSString stringWithFormat: @"%C", value];
     return str;
}

@end

Then call it with

NSString *otherString = @"TestString";

NSString *str = [NSString stringWithUnichar:[otherString characterAtIndex:1]];

or you could just directly go like this:

NSString *str = [NSString stringWithFormat:@"%C",[otherString characterAtIndex:1]];

Choose the category if you want to use it repeatedly, or if you only have to do it once, use the stringWithFormat example!!

Not to sure about the internals of NSString, but I'd guess it is probably wrapping a

unichar *

or an array of unichars (like a C char *)

A unichar is simply a 16bit value that is used to store a character. Unlike an unsigned char which is only 8 bits, it can hold more than 0-255, so it can hold unicode characters as well, which are 16bits. A NSString is a (cluster of) class[es] that contains an array of unichars

EDIT

Here are a few articles about what people think an NSString is:

http://cocoawithlove.com/2008/08/string-philosophies-char-arrays.html

http://www.reddit.com/r/programming/comments/6v1yw/string_philosophies_char_arrays_stdstring_and/

Hope that helps!

68
ответ дан 27 November 2019 в 16:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: