Objective c 设置收集单元框架时发生愚蠢的崩溃
这可能是件愚蠢的事,我已经做了很多年了,但我就是想不出这件事 在我的集合视图单元类中,我有:Objective c 设置收集单元框架时发生愚蠢的崩溃,objective-c,uicollectionview,Objective C,Uicollectionview,这可能是件愚蠢的事,我已经做了很多年了,但我就是想不出这件事 在我的集合视图单元类中,我有: - (void)layoutSubviews { self.title.frame=CGRectMake(50, 50, 100, 100); } 只有当我删除这行帧设置时,单元格才正常,如果不正常,我会得到: *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NS
- (void)layoutSubviews
{
self.title.frame=CGRectMake(50, 50, 100, 100);
}
只有当我删除这行帧设置时,单元格才正常,如果不正常,我会得到:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFString setFrame:]: unrecognized selector sent to instance 0x7fdcbbd0afb0'
一切都安排好了,我什么都没有错过,我已经做过很多次了。
这是什么
编辑:
哦,不。。。多亏了这里善良的人们的帮助,我发现我做到了这一点
cell.title=[dic objectForKey:@"title"];
而不是这个
cell.title.text=[dic objectForKey:@"title"];
所以它变成了一根绳子!(??)self.title是一个NSString对象,没有UIView…首先要做的是:您认为
title
的类型是什么?似乎它是NSString
,而且NSString
没有像setFrame:
这样的选择器。。。这正是您的异常。@Curnelious,它不能是UILabel
,因为异常清楚地告诉您它是一个NSString
。即使该属性的类型为UILabel
,但很可能在某个地方,您正在将其设置为NSString
的实例。如果您尝试这样做,Xcode只会给您一个警告,而不是错误。查看Xcode左侧的问题导航器,看看这可能发生在何处。@Curnelious,似乎您的运行时环境对此有非常强烈的第二意见,不幸的是,它是正确的。。。而您不是,因为显式地将NSString
类型转换为UILabel
不会改变内存中的实际对象。
cell.title.text=[dic objectForKey:@"title"];