当前位置: 首页>数据库>正文

iOS 在UICollectionViewCell 不复用 ios cell复用问题

UITableView 的cell 复用机制节省了内存,但是有时对于多变的自定义cell,重用时会出现界面出错(例如复用出错,出现cell混乱重影)、滑动卡顿等问题,这里只简单敲下几点复用出错时的解决办法:

1、取消复用机制(放弃了内存,当数据过多时可能会出现卡顿,所以要慎用)

1a、更换方法,使用indexPath来创建cell



将方法:
- (nullable __kindof UITableViewCell *)dequeueReusableCellWithIdentifier:(NSString *)identifier;  // Used by the delegate to acquire an already allocated cell, in lieu of allocating a new one.



更换为:
- (nullable __kindof UITableViewCell *)cellForRowAtIndexPath:(NSIndexPath *)indexPath;   // returns nil if cell is not visible or index path is out of range



具体代码如下图:

iOS 在UICollectionViewCell 不复用 ios cell复用问题,iOS 在UICollectionViewCell 不复用 ios cell复用问题_复用,第1张

 

1b、设置标识符,给每个cell都有自己的标识

iOS 在UICollectionViewCell 不复用 ios cell复用问题,iOS 在UICollectionViewCell 不复用 ios cell复用问题_分割线_02,第2张

 

2、删除重用cell的最后一个子视图,进而复用(此方法相较于方法1,节省了内存)

iOS 在UICollectionViewCell 不复用 ios cell复用问题,iOS 在UICollectionViewCell 不复用 ios cell复用问题_搜索_03,第3张

 

/********************************************  分割线  *****************************************************/

/********************************************  分割线  *****************************************************/

 

将N久的文档总结的各种杂七杂八的问题放这里,预防丢失,,,

Q0.支付宝rsa_private read error : private key is NULL错误

解决方法:

a.在RSADataSigner.m文件中 搜索代码 [result appendString:@"-----BEGIN PRIVATE KEY-----\n"]; 将其改 成 [result appendString:@"-----BEGIN RSA PRIVATE KEY-----\n"];

b.在RSADataSigner.m文件中 搜索代码 [result appendString:@"\n-----END PRIVATE KEY-----"]; 将其改 成 [result appendString:@"\n-----END RSA PRIVATE KEY-----"];

 

Q1.linker command failed with exit code 问题

文件添加重复了,找到删除多余的

 

Q2.真机或打包遇到的UUID问题Your build settings specify a provisioning profile with the UUID "",no such provisioning profile was found

解决:

a.打开工程文件夹,找到xxx.xcodeproj文件显示包内容

b.打开project.pbxproj文件

c.command+f 搜索报错的UUID或PROVISIONING_PROFILE,删除所有含有此UUID的内容

d.再次运行,OK,问题解决

 

Q3.如何给GitHub的readme 添加图片

1、将图片和代码文件一样添加到GitHub

2、打开你添加的图片,复制其网址链接

3、编辑readme文件中,添加:

  ![image](粘贴你所复制的图片链接)  

  例子:

  ![image](https://github.com/DomyZhang/Domy-SegmentCustom/blob/master/pic.gif)

 

Q4.真机时出现问题:could not find developer disk image

原因:由于真机系统版本过高或者过低,Xcode中没有匹配的配置包文件。所以:

我们可以通过下面这个路径进入配置包的存放目录:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport

iOS 在UICollectionViewCell 不复用 ios cell复用问题,iOS 在UICollectionViewCell 不复用 ios cell复用问题_xcode_04,第4张

里面有类似这样的一些文件夹,如果这些文件夹中没有包含我们真机的系统,则不能进行真机测试。可以通过将相应的配置包添加入这个文件夹来解决问题。

 

Q5.upload包到AppStore时报错:Unexpected CFBundleExecutable Key.The bundle at"xxxxx"

根据错误提示,找到出问题的SDK文件所在位置,删除Executable file(注意别删错了,删除的是报错的文件对应的plist,别把工程的plist删了)

iOS 在UICollectionViewCell 不复用 ios cell复用问题,iOS 在UICollectionViewCell 不复用 ios cell复用问题_git_05,第5张

 

Q5.APP被拒原因

链接:http://www.woshipm.com/pd/117569.html

     http://www.anqu.com/chanye/dongtai/26036.shtml

 

Q6.提交审核时 IDFA 的选择问题

a.首先你得先知道自己的工程中是否含有广告标示,搜索下文件AdSupport.framework,有的话那就是有了。。

iOS 在UICollectionViewCell 不复用 ios cell复用问题,iOS 在UICollectionViewCell 不复用 ios cell复用问题_git_06,第6张

b.在是否有广告的选项中选择是

c.然后,如果你们的确用了广告,就勾选第一个;否则,勾选后两个。

 

Q7./Applications/Xcode.app/Contents/Developer/usr/bin/copypng emitted error......

原因:图片格式问题(我将JPG直接改为PNG了),但是编译时仍是按照JPG进行编译的,因此报错。(⊙﹏⊙)

 

Q8.http://www.jianshu.com/p/8a499ee39fe7  git的使用


https://www.xamrdz.com/database/66b1962823.html

相关文章: