运行我的应用时出现以下错误。
' - [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'
由于在整个崩溃日志中存在缩进问题,我将放置崩溃日志的屏幕截图
答案 0 :(得分:28)
我认为,问题出在其他地方,不在这行代码中。该对象无法保留自己。发布代码,使用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 **
答案 1 :(得分:3)
当您遇到内存管理问题时(选择器被发送到错误的实例是内存管理问题的一个症状),您可以执行以下操作:
NSZombieEnabled
查看是否[以及何时]向未分配的实例发送邮件。答案 2 :(得分:2)
我也得到同样的错误,但现在已经解决了。
需要做简单的事情,设置其他链接器标志的值。
下面我提到了步骤。
项目名称 - 构建设置 - 其他链接器标记(使用搜索栏搜索) - “-ObjC”
答案 3 :(得分:0)
您应该更改代码以使用这样的指针:
UIView *pos = [[UIView alloc] initWithFrame:CGRectMake(0.0,0.0,320.0,35.0)];
return pos;
注意星号!
当然,在分配声明的最后是;
!