Как добавить строку в NSMutableString - PullRequest
19 голосов
/ 07 февраля 2012

Я абсолютный новичок с целью-c

с этим кодом

NSMutableString *teststring;
[teststring appendString:@"hey"];
NSLog(teststring);

в консоли ничего не отображается.

Конечно, я тут что-то не так делаю ...: -)

Ответы [ 5 ]

49 голосов
/ 07 февраля 2012

Сначала нужно создать строку.

NSMutableString *teststring = [[NSMutableString alloc]init];

[teststring appendString:@"hey"];

NSLog(teststring);

Теперь он напечатает.

25 голосов
/ 07 февраля 2012

Изменить первую строку на

NSMutableString *teststring = [NSMutableString string];
9 голосов
/ 07 февраля 2012

Эта строка

NSMutableString *teststring;

просто устанавливает указатель, но ничего не создает. Вместо этого вам нужно создать новый экземпляр NSMutableString, например:

NSMutableString *teststring = [[NSMutableString alloc] init];
[teststring appendString:@"hey"];
NSLog("%@", teststring);
4 голосов
/ 07 февраля 2012

Пример:

NSMutableString *buffer = [[NSMutableString alloc] init]; // retain count = 1. Because of the "alloc", you have to call a release later

[buffer appendString:@"abc"];
NSLog(@"1 : %@", buffer);
[buffer appendString:@"def"];
NSLog(@"2 : %@", buffer);

[buffer release]; // retain count = 0 => delete object from memory
0 голосов
/ 20 июня 2016
NSMutableString *tag = [NSMutableString stringWithString: @"hello <td> this is inside td </td> 000999 <><> ..<. ><> 00000 <td>uuuuu</td> vvvvv <td> this is also inside td </td>"];  
    NSRange open = [tag rangeOfString:@"<"]; 
    while(open.location != NSNotFound) 
    {
        NSRange close = [tag rangeOfString:@">"]; 
        NSRange string = NSMakeRange(open.location, close.location-open.location+1);
        [tag replaceCharactersInRange:string withString:@""];               
        open =  [tag rangeOfString:@"<"];
        NSLog(@"%@",tag);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...