Я получаю значения мусора при манипулировании некоторыми из моих NSString
объектов. Я думаю, что проблема связана с моим неправильным пониманием того, как NSString работает на базовом уровне. Ниже у меня есть объект, который имеет указатель строки в качестве синтезированного свойства. Когда я пытаюсь выйти из системы напрямую, компилятор выдает мне предупреждение, но выводит ожидаемое значение. На следующей строке я пытаюсь правильно записать эту строку, но в итоге получаю мусор.
Фрагмент кода
MyObject *object = [self.objects objectAtIndex:indexPath.row];
NSString *myString = object.myString;
NSLog(myString); // format not a string literal and no formal arguments
NSLog(@"formatted = %s", myString);
выход
2011-05-16 13:06:51.137 MyProgram[917:207] thisValueIsGood
2011-05-16 13:06:51.138 MyProgram[917:207] formatted = `å
Эта проблема связана с другими функциями, использующими эту последнюю строку. Когда я объединяю эту строку с другими строками, я получаю еще больше мусора.