Ошибка: «- [NSCFString sizeWithTextStyle:]: нераспознанный селектор» в IPhone SDK - PullRequest
15 голосов
/ 18 февраля 2011

Я получаю следующую ошибку при запуске моего приложения.

'- [NSCFString sizeWithTextStyle:]: нераспознанный селектор

Я не использовал sizeWithTextStyle во всем моем проекте.

Так что же может быть не так?

Я получаю сообщение об ошибке return pos; ниже

Код:

(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
     UIView *pos = [[UIView alloc] initWithFrame:CGRectMake(0.0,0.0,320.0,35.0)];
     return pos;
}

Ошибка в консоли:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSCFString sizeWithTextStyle:]: unrecognized selector sent to instance 0x7044b50'

Из-за проблемы с отступом при размещении здесь всего журнала сбоев я помещаю скриншот журнала сбоев

enter image description here

Ответы [ 4 ]

28 голосов
/ 18 февраля 2011

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

Есть ли у вас флаг -all_load в настройках вашей ссылки?

Эта проблема часто возникает. Вам необходимо добавить -all_load и -ObjC к флагам ссылок ваших приложений.

* РЕДАКТИРОВАТЬ: *

Появляется сбой в линии:

 CGSize textSize = [self.text sizeWithTextStyle:textStyle];
 in class: CPTextLayer method: sizeToFit

 which is called from within class CPTextLayer method initWithText:
-(id)initWithText:(NSString *)newText style:(CPTextStyle *)newStyle
....
[self sizeToFit];


**try to set with iOS 4 and not with 3.1.3 **
3 голосов
/ 18 февраля 2011

Если у вас есть проблемы с управлением памятью (селекторы, отправленные в неправильные экземпляры, являются одним из симптомов проблем с управлением памятью), вы можете сделать несколько вещей:

  1. Перечитайте правила управления памятью Какао и убедитесь, что вы следуете им.
  2. Запустить статический анализатор . Это часто приводит к тому, что вы пренебрегали правилами управления памятью.
  3. Попробуйте использовать NSZombieEnabled, чтобы выяснить, [и когда] вы отправляете сообщения на нераспределенные экземпляры.
2 голосов
/ 21 ноября 2013

Я также получаю ту же ошибку, но теперь она решена.

Нужно сделать простую вещь, установить значение флажка Другой компоновщик.

ниже я упомянул шаги.

Название проекта - Настройка сборки - Другой флаг компоновщика (используйте строку поиска для поиска) - "-ObjC"

0 голосов
/ 18 февраля 2011

Вы должны изменить свой код, чтобы использовать такие указатели:

UIView *pos = [[UIView alloc] initWithFrame:CGRectMake(0.0,0.0,320.0,35.0)]; 
     return pos;

Обратите внимание на звездочку!

И, конечно, ; в конце оператора выделения!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...