Ответ 1
Измените первую строку на
NSMutableString *teststring = [NSMutableString string];
Я абсолютный новичок с objective-c
с этим кодом
NSMutableString *teststring;
[teststring appendString:@"hey"];
NSLog(teststring);
в консоли ничего не отображается.
Конечно, я делаю что-то неправильно здесь...: -)
Измените первую строку на
NSMutableString *teststring = [NSMutableString string];
Сначала нужно создать строку.
NSMutableString *teststring = [[NSMutableString alloc]init];
[teststring appendString:@"hey"];
NSLog(teststring);
Теперь он будет печататься.
Эта строка
NSMutableString *teststring;
просто устанавливает указатель, но ничего не создает. Вместо этого вам нужно создать новый экземпляр NSMutableString
, например:
NSMutableString *teststring = [[NSMutableString alloc] init];
[teststring appendString:@"hey"];
NSLog("%@", teststring);
Пример:
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
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);
}