如何解决赋值使指针从整数开始,而没有强制转换:地址发布
| 我想要每个编写的图形组件的地址,以便以后可以使用,因为它是一个大矩阵,所以我不想这样做:\“for(UIView *myView in [self.view subviews]){
\”。 <-链接太慢,常常无法获得想要的东西。
但是,我可以通过保留地址并将指针地址设置为它来获得所需的结果,但是我得到一个警告:
UIView *myView = [[UIView alloc] initWithFrame:RectFrame];
address[j][i] = (int) myView;
myView = address[j][i]; // <---Assignment makes pointer from integer without a cast
好的,所以我尝试用(UIView)进行投射并获得...
UIView *myView = [[UIView alloc] initWithFrame:RectFrame];
address[j][i] = (int) myView;
myView = (UIView) address[j][i]; // <---Conversion to non-scalar type requested
那么我该如何安抚并清除警告“分配使指针从整数开始而无需强制转换”?
谢谢
解决方法
首先,迭代,操作和绘制1000个UIView可能很慢,无论您如何操作。而且我敢打赌,“绘图”部分将成为您的瓶颈,因此我怀疑遍历
subviews
数组或2D C数组之间的差异会在速度上产生明显差异。
也就是说,要使警告消失,请将您的数组声明为(UIView *)
指针而不是int
数组:
UIView *address[100][10];
然后,您无需在任何地方进行任何类型转换。
,为什么不使用Tag属性,则可以使用[self viewWithTag:aTag];
,我不明白您在做什么,但直接回答,应该是
myView = (UIView *) address[j][i];
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。