Ошибка: "- [NSCFString sizeWithTextStyle:]: непризнанный селектор" в IPhone SDK

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

'- [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

Ответы

Ответ 1

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

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

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

* EDIT: *

Сбой появляется в строке:

 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 **

Ответ 2

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

  • Перечитайте Cocoa правила управления памятью и убедитесь, что вы следите за ними.
  • Запустите статический анализатор . Это часто забирает места, где вы пренебрегаете правилами управления памятью.
  • Попробуйте использовать NSZombieEnabled, чтобы узнать, отправляются ли [и когда] сообщения в нераспределенные экземпляры.

Ответ 3

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

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

ниже Я упоминаю шаги.

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

Ответ 4

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

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

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

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