2015-10-26 2 views
-1

Я унаследовал проект и должен переделать его часть, которая имеет дело с контактами. Я использую библиотеку третьей стороны THContactPicker, но при добавлении контакта сборщика программно (который имеет текстовое поле в представлении) текстовое поле вызывает исключениеСтранное исключение, когда текстовое поле становится первым ответчиком

[NSBigMutableString replaceCharactersInRange: withString]: ноль аргумент

при получении первого ответчика. Я попытался добавить любой другой объект, который имеет текстовый ввод программно, и он показывает одно и то же исключение, когда они становятся первыми ответчиками. Если я добавлю их через раскадровку, они не будут показывать это исключение. Что может быть причиной этой проблемы?

P.S. нет никаких делегатов, связанных с текстом, в поле зрения контроллера

ответ

1

Это исключение возникает из-за того, что вы случайно пытаетесь установить append a nil argument в NSMutableString.

NSBigMutableString является резервным хранилищем для NSTextStorage/NSMutableAttributedString, так , если вы когда-нибудь позвонить -[NSBigMutableString replaceCharactersInRange:withString:] (где aString равен нулю), это исключение , который поднял.

+0

Ty для вашего ответа, я не понимаю, как эти 2 могут быть связаны и как какой-либо ввод текста попытается добавить аргумент nil для первого ответчика? Я не вижу - [NSBigMutableString replaceCharactersInRange: withString:] метод, вызываемый в любом месте проекта. – MarijaTheTrowl

+0

Вы или THContactPicker ничего не делаете в методах делегата вашего текстового поля? (TextFieldShouldBeginEditing/textFieldDidBeginEditing) – pkc456

+0

Проблема возникает во всем приложении, на каждом контроллере представления, если текстовое поле или что-либо с текстовым вводом добавляется программно, оно показывает, что исключение когда он становится первым ответчиком. – MarijaTheTrowl

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