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
具体代码如下图:
1b、设置标识符,给每个cell都有自己的标识
2、删除重用cell的最后一个子视图,进而复用(此方法相较于方法1,节省了内存)
/******************************************** 分割线 *****************************************************/
/******************************************** 分割线 *****************************************************/
将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
里面有类似这样的一些文件夹,如果这些文件夹中没有包含我们真机的系统,则不能进行真机测试。可以通过将相应的配置包添加入这个文件夹来解决问题。
Q5.upload包到AppStore时报错:Unexpected CFBundleExecutable Key.The bundle at"xxxxx"
根据错误提示,找到出问题的SDK文件所在位置,删除Executable file(注意别删错了,删除的是报错的文件对应的plist,别把工程的plist删了)
Q5.APP被拒原因
链接:http://www.woshipm.com/pd/117569.html
http://www.anqu.com/chanye/dongtai/26036.shtml
Q6.提交审核时 IDFA 的选择问题
a.首先你得先知道自己的工程中是否含有广告标示,搜索下文件AdSupport.framework,有的话那就是有了。。
b.在是否有广告的选项中选择是
c.然后,如果你们的确用了广告,就勾选第一个;否则,勾选后两个。
Q7./Applications/Xcode.app/Contents/Developer/usr/bin/copypng emitted error......
原因:图片格式问题(我将JPG直接改为PNG了),但是编译时仍是按照JPG进行编译的,因此报错。(⊙﹏⊙)
Q8.http://www.jianshu.com/p/8a499ee39fe7 git的使用