cellText
является указателем на объект.Когда вы присваиваете ему, вы назначаете указатель, а не присваиваете внутри объекта.Таким образом, делая
cellText = @"some text";
, вы забываете свой оригинальный указатель и вместо этого записываете указатель на постоянную строку @"some text"
.Затем, когда вы пытаетесь release
, вы вызываете ошибку, потому что это не объект, который вы выделили, это константа.(Хотя я думаю, что должен иметь возможность отправлять release
в постоянную строку, он просто ничего не должен делать, поэтому, если это дает сбой, возможно, немного странный.)исходная строка никогда не освобождается, потому что у вас больше нет указателя на нее для отправки сообщения.