2009-10-14 5 views

ответ

33
NSString *testString = @"test"; 
+0

Это был ответ, который я искал. Хотя ответ Карл Норум очень подробный. – powtac

+1

Btw, что такое '@' для? – powtac

+1

Ответ четко объяснен в ответе Карла Норума. '@" aString "создает объект NSString. '' aString "' является строкой C, которая представляет собой всего лишь массив символов. –

45

строка переменного тока так же, как в C.

char myCString[] = "test"; 

NSString использует @ характер:

NSString *myNSString = @"test"; 

Если вам нужно управлять память NSString в:

NSString *myNSString = [NSString stringWithFormat:@"test"]; 
NSString *myRetainedNSString = [[NSString alloc] initWithFormat:@"test"]; 

Or если вам нужна редактируемая строка:

NSMutableString *myMutableString = [NSMutableString stringWithFormat:@"test"]; 

Подробнее вы можете узнать у Apple NSString documentation.

+0

Что такое отличается beween NSString и полукокса? – powtac

+4

'char' - это родной тип C, а' NSString'/'NSMutableString' - это классы для управления строками в Cocoa/Objective-C. Они действительно не имеют большого отношения к нормальной строке C (массив «char») вообще. Для начала вам необходимо ознакомиться с базовыми документами «практический» Objective-C. –

+0

Что означает '@'? – powtac

9

Стандартное назначение строка может быть сделано следующим образом:

NSString *myTestString = @"abc123"; 

В дополнение к основному распределению Есть много методов, которые вы получите при использовании NSString класса, что вы не получите с массивом Standard Char []. Вот почему объективное программирование лучше!

Например, заполняющей строку с содержимым HTML веб-страницы, с одной строки кода! **

Создание и инициализация строк

+ string 
– init 
– initWithBytes:length:encoding: 
– initWithBytesNoCopy:length:encoding:freeWhenDone: 
– initWithCharacters:length: 
– initWithCharactersNoCopy:length:freeWhenDone: 
– initWithString: 
– initWithCString:encoding: 
– initWithUTF8String: 
– initWithFormat: 
– initWithFormat:arguments: 
– initWithFormat:locale: 
– initWithFormat:locale:arguments: 
– initWithData:encoding: 
+ stringWithFormat: 
+ localizedStringWithFormat: 
+ stringWithCharacters:length: 
+ stringWithString: 
+ stringWithCString:encoding: 
+ stringWithUTF8String: 

Создание и инициализация строку из файла

+ stringWithContentsOfFile:encoding:error: 
– initWithContentsOfFile:encoding:error: 
+ stringWithContentsOfFile:usedEncoding:error: 
– initWithContentsOfFile:usedEncoding:error: 

Создание и инициализация строку из URL

+ stringWithContentsOfURL:encoding:error: 
– initWithContentsOfURL:encoding:error: 
+ stringWithContentsOfURL:usedEncoding:error: 
– initWithContentsOfURL:usedEncoding:error: 

Если вам нужна строка, где вы можете изменить его буфер, который вы хотите посмотреть на:

NSMutableString 
Смежные вопросы