NSString и UITouch ... что в мире происходит? - PullRequest
0 голосов
/ 09 августа 2010

У меня ошибка с NSString. В одном из моих файлов .m у меня есть член, называемый «преобразования» типа NSString, и в методе этого класса строка обрабатывается и добавляется в и т. Д. Хорошо, когда я пытаюсь записать эту строку в другой метод, который позже вызывается, по какой-то причине строка печатается как объект UITouch. В частности, я пытаюсь записать строку следующим образом

NSLog(@"%@", conversions);

и в моей консоли он печатает

<UITouch 0x131700> phase: Ended tap count: 1 window: <UIWindow: 0x136470; frame = (0 0: 320 480) opaque = NO.....(and more property type stuff)

Почему моя строка NSString превратилась во что-то похожее на объект UITouch? Что происходит?

1 Ответ

2 голосов
/ 09 августа 2010

Вероятной причиной таких проблем является то, что "преобразования" были выпущены слишком рано, поэтому они были освобождены, и вы все еще держали ссылку на эту область памяти. Затем в этом месте был выделен другой объект.

Чтобы отладить это, установите NSZombieEnabled. Он не освобождает объекты, а заменяет их «зомби». Смотрите, например, следующую ссылку:

http://www.tomwhitson.co.uk/blog/2009/04/debugging-with-nszombiesenabled/

...