arm64的适配问题,这次真醉了
写过tableView的童鞋都知道,有必须的两个代理方法要实现,还有几个选择实现的。
必须实现的代理方法:
~设置行数
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;
~初始化并设置cell样式及内容
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
选择实现的代理方法:
~设置列表分组数
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView; // Default is 1 if not implemented
~设置每行高度
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;
当然还有其他的,这里就不在粘贴了,注意这里列出的最后一个可选代理方法,这是个隐藏已久的坑。今天就来说说这个
话说今天处理iPhone 64位系统出现的弹框问题,在首次安装程序时会弹出警告的问题。
弹出警告的原因是程序在编写时,未添加ARM给64的指令集,也就是“arm64”,用到该指令集的手机类型如下列出
iPhone6s、iphone6s plus
iPhone6、iPhone6 plus
iPhone5S
iPad Air、iPad mini2(iPad mini with Retina Display)
注:摘自iOS中的armv7,armv7s,arm64,i386,x86_64都是什么
解决方法就是添加arm64到项目配置中:路径是Targate->Build Settings->Architechtures, 配置如下
添加之前的配置:
添加之后的配置:
但是,这只是个开始,Command+B之后,竟然Build failed了。
程序不仅有眼前的bug,还有远方未知的坑和改需求,但眼前的bug要先改完。
这次failed跟以往的不一样,先来看一段代码
NSInteger numberOfArray = [testDic[@"testId"] count];
return numberOfArray;
这时段示例代码,假设有个字典键“testId”对应的值是一个数组,使用“[]”语法取数组的count值,按说是不应该出错的
但是这里确实出错了,提示大致意思是:不能有多个方法访问count属性
必须写成下面的形式才可以通过:
NSInteger numberOfArray = [((NSArray *)testDic[@"testId"]) count]; //此处强转,只取数组的个数没问题,如果改数组就会出问题
或者
NSArray *testArray = testDic[@"testId"];
NSInteger numberOfArray = [testArray count];
没办法,只能一个一个修改。去除左边框框里的所有红色后,终于Build Succeeded
------------------------------------------------------------
进入后感觉如释重负,终于又干掉一个bug,于是像往常一样点了点几个主界面。
点到一个列表时,列表和我的心情都简直了
arm64的适配问题,这次真醉了的更多相关文章
- Xcode8适配iOS10.1真机测试
将10.1测试包相关文件存放到指定位置,如图步骤提示: 解压文件:
- iPhone 6 & iPhone 6 Plus适配
转载请注明出处: http://www.cnblogs.com/dokaygang128/p/4049461.html Apple 今年发布了两款新的iPhone机器,iPhone 6 和iPhone ...
- Web App适配iPhoneX
前言 Iphone每次退出新尺寸的手机都会掀起一番适配风波,这次没有下巴但有刘海的iPhoneX更是如此,网传横屏下的适配动画更是令不少人汗颜. 其实对于Native App来说,适配并不算困难(当然 ...
- 2014 Hangjs 见闻流水账第二天
前言 第一天传送门: 2014 Hangjs 见闻流水账第一天 写作风格跟第一天还是一样的. Slide 每个slide我都会根据自己的理解重新命名一次,用于表达自己的第一看法,主观意见,不喜可吐槽, ...
- 一些baidu面经
百度问的一些问题供参考: 1. epoll 和 select,epoll 两种模式,阻塞非阻塞: 2. 两个严格递增链表找出相同的元素组成新的链表: ref1 ref 3. 网络传输中如何传送一个 ...
- 让“不确定性”变得有“弹性”?基于弹性容器的AI评测实践
0. 前言 AI的场景丰富多彩,AI的评价方法百花齐放,这对于设计一套更通用的评测框架来说,是一个极大的挑战,需要兼顾不同的协议,不同的模型环境,甚至是不同的操作系统.本文分享了我们在AI评测路上的一 ...
- BPM配置故事之案例11-操作外部数据源
小明:可以获取ERP数据了-- 老李:哦,这么快?小伙子,我非常看好你,来来,别急着走,再陪我聊会-- 小明:--您老人家不是又要改流程吧? 老李:没有没有,哎嘿嘿嘿,我们这不都是为公司效率着想嘛,这 ...
- IOS开发基础知识碎片-导航
1:IOS开发基础知识--碎片1 a:NSString与NSInteger的互换 b:Objective-c中集合里面不能存放基础类型,比如int string float等,只能把它们转化成对象才可 ...
- ios .a和.framework
创建Aggregate来合并模拟器和真机通用的framework 然后在Build Phases下New Run Script Phase创建合并脚本: # Constants SF_TARGET_N ...
随机推荐
- html 标签 链接
<a href="http://www.baidu.com">百度</a> <a href="#here">here< ...
- Cap'n Proto, FlatBuffers, and SBE
转自:utm_source=tuicool">http://kentonv.github.io/capnproto/news/2014-06-17-capnproto-flatbuff ...
- strust2 和 hibernate的整合------登录的实现
初步认识了struts2,并与hibernate进行整合,完成了一个登录的案例,下面贴源码 1.实体类User public class User { private Integer id; priv ...
- Swoole系列(一):简介
前言: 实际上作为一名PHP程序员,我很清楚PHP的确有很多局限性,比如Unix系统编程.网络通信编程.异步io,大部分PHPer不懂.PHP界也确实没有这样的东西.Swoole开源项目就是为了弥补P ...
- 挑战:万能的slash! 判断js中“/”是正则、除号、注释?
很久以前在其它地方就探讨和关注过这个问题,但都没有满意的解答. 看了zjfeihu 的帖子: <前端代码加亮插件(html,jss,css),支持即时加亮,运行代码>,再次提出这个比较经典 ...
- js获取object类型所有的键值对
万物皆对象,而对象完全可以用键值对来表示,所以,在js中,也是通过键值对来表示对象的,在开发中,我在修改的时候,知道属性值可以直接用点.符号来获取值,但是写common.js的时候,发现这个属性名称是 ...
- 接入qq登录功能出现的问题
在调用qq授权的接口时,出现以上错误. 原因是: 打包的应用签名和第一次上传包的签名不一致造成的 解决方法: 第一种方法:用上次打包apk的keystore重新打包apk,使签名一致. 第二种方法:联 ...
- tonymillion/Reachability的使用
tonymillion/Reachability是GitHub上的一个开源工具类,目測是依据Apple的Reachability Demo改写而成. 该类能够測试到某一网络.主机等的可达性,支持Blo ...
- android代码中自定义布局
转载地址:http://blog.csdn.net/luckyjda/article/details/8760214RelativeLayout rl = new RelativeLayout(thi ...
- JSON查看小工具
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析和生成.它基于JavaScript Programming Langu ...