2016-02-12 5 views
5

я заметил, чем в OSX, то NSTextView не для слабого референс (если вы пытаетесь связать его слабым, вы получите)Почему NSTextView не может найти слабую ссылку?

Cannot form weak reference to instance (0x600000122da0) of class NSTextView. It is possible that this object was over-released, or is in the process of deallocation. 

также выход из XCode создается как присвоение по умолчанию

Почему не может быть слабой ссылки? В чем причина?

+3

[этот вопрос] (http://stackoverflow.com/questions/12882710/iboutlet-for-nstextview-in-a-arc-project) может быть то, что вы ищете. – meth

ответ

-3

Внимательно прочитайте сообщение. Прочитайте текст NSTextView. Он сообщает вам точно, почему на данный момент вы не можете создать слабую ссылку на NSTextView. Вам просто нужно это прочитать.

Например, в то время как dealloc работает, вы больше не можете создавать новые слабые ссылки, потому что объект будет уходить, а все слабые ссылки будут установлены на nil. Попытка присвоить объект слабой переменной сохранит эту переменную nil, даже если объект не равен нулю (пока).

И это не имеет ничего общего с NSTextView.

+1

Это неверно, проблема в том, что NSTextView использует собственный подсчет ссылок и поэтому не может использоваться со слабым ссылкой –

3

Проверить FAQ здесь Transitioning to ARC Release Notes:

Q: Какие классы не поддерживают слабые ссылки?

A: Вы не можете себе создавать слабые ссылки на экземпляры в следующих классов: NSATSTypesetter, NSColorSpace, NSFont, NSMenuView, NSParagraphStyle, NSSimpleHorizontalTypesetter и NSTextView.

т.д.

Смежные вопросы