赋值使指针从整数开始,而没有强制转换:地址发布

问题描述

| 我想要每个编写的图形组件的地址,以便以后可以使用,因为它是一个大矩阵,所以我不想这样做:\“
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];
    

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...