文档章节

Xcode警告错误处理

tonychb
 tonychb
发布于 2016/01/05 17:43
字数 312
阅读 74
收藏 0
iOS
  • 警告:Applications using Launch Screen Files and targetting iOS 7.1 and earlier need to also include a Launch Image in an Asset Catalog.

解决方案:Launch Images Source 要选择启动图片来源,来适配iOS7.1及更早的版本。 

图示:

Xcode6默认是这样的:


修改后:



  • 报错:This application is modifying the autolayout engine from a background thread, which can lead to engine corruption and weird crashes.  This will cause an exception in a future release.

解决方案:使用主线程更新UI,

dispatch_async(dispatch_get_main_queue(), ^{
                     // 更UI
                 });


报错:Collection <__NSArrayM: 0x13e172510> was mutated while being enumerated.的崩溃问题。

崩溃原因:

在枚举的时候发生了变化。比如forin 循环中的便利内容不能被改变, 是因为如果改变其便利的内容会少一个, 而系统是不会允许这个发生的所以就会crash...但是当改变最后一个的内容时, 就不会crash, 是因为此时遍历已经结束, 结束之后对内容做修改是允许的

这里有三种解决方案:

 1.利用for loop ()


      for (int i = 0; i < arr.count; i++) {

            if (...) {

                // do sth ;

            }

        }


2.利用临时变量

   NSArray *tmp = [NSArray arrayWithArray:arr];

        for (id obj in tmp) {

            if (...) {

               // do sth ;

            }

        }


3.enumerateObjectsUsingBlock(推荐)

    [arr enumerateObjectsUsingBlock:^(NSMutableDictionary *obj, NSUInteger idx, BOOL *stop) {

            if (...) {

                // do sth

                *stop = YES; // 相当于break ; stop控制跳出枚举器.

            }

        }];



© 著作权归作者所有

tonychb
粉丝 3
博文 29
码字总数 922
作品 0
深圳
私信 提问
ARC的开启和禁止操作图解(XCode 4.5 XCode5)

要想将非ARC的代码转换为ARC的代码,大概有2种方式: 1.使用Xcode的自动转换工具 2.手动设置某些文件支持ARC 一、Xcode的自动转换工具 Xcode带了一个自动转换工具,可以将旧的源代码转成ARC模...

木木情深
2014/02/19
234
0
让不懂编程的人爱上iPhone开发(2017秋iOS11+Swift4+Xcode9版)-第6篇

欢迎继续回来一起学习iPhone开发。 热身结束,让我们真正来做游戏吧! 到目前为止我们已经完成了基本的用户界面,而且也学习了如何确定滑动条的位置,这样我们的to-do清单上已经解决了一大部...

王寒
2017/10/29
0
0
Auto property synthesis will not synthesize警告问题

项目中一个类A遵守了某个协议,此协议中有一个delegate属性,是这样定义的: 如果类A中没有针对这个delegate进行处理,就会显示警告:auto property synthesis will not synthesize propert...

yoyoso
2016/01/06
285
0
IOS开发常见warning汇总

Warning: Scene is unreachable due to lack of entry points and does not have an identifier for runtime access via -instantiateViewControllerWithIdentifier 解释:Storyboard中有Vie......

恋恋美食
2015/12/15
190
0
Xcode中的 编译过程以及编译器

一。 在Xcode里写C语言函数的编译过程 1.编译,连接,运行 编译 1.什么是编译:将C源程序翻译成计算机能识别的0和1 2.使用什么编译器:3之前用GCC,Xcode4之后使用LLVM编译器(前端clang) 在终...

水一样的人儿
2016/11/14
55
0

没有更多内容

加载失败,请刷新页面

加载更多

【0918】正则介绍_grep

【0918】正则介绍_grep 9.1 正则介绍_grep上 9.2 grep中 9.3 grep下 一、正则介绍 正则是一串有规律的字符串,它使用单个字符串来描述或匹配一系列符合某个语法规则的字符串。 二、grep工具 ...

飞翔的竹蜻蜓
35分钟前
4
0
为什么要在网站中应用CDN加速?

1. 网页加载速度更快 在网站中使用CDN技术最直接的一个好处就是它可以加快网页的加载速度。首先,CDN加速的内容分发是基于服务器缓存的,由于CDN中缓存了不少数据,它能够给用户提供更快的页...

云漫网络Ruan
今天
8
0
亚玛芬体育(Amer Sports)和信必优正式启动合作开发Movesense创新

亚玛芬体育和信必优正式启动合作开发Movesense创新,作为亚玛芬体育的完美技术搭档,信必优利用Movesense传感器技术为第三方开发移动应用和服务。 Movesense基于传感器技术和开放的API,测量...

symbiochina88
今天
4
0
创龙TI AM437x ARM Cortex-A9 + Xilinx Spartan-6 FPGA核心板规格书

SOM-TL437xF是一款广州创龙基于TI AM437x ARM Cortex-A9 + Xilinx Spartan-6 FPGA芯片设计的核心板,采用沉金无铅工艺的10层板设计,适用于高速数据采集和处理系统、汽车导航、工业自动化等领...

Tronlong创龙
今天
5
0
好程序员Java学习路线分享MyBatis之线程优化

  好程序员Java学习路线分享MyBatis之线程优化,我们的项目存在大量用户同时访问的情况,那么就会出现大量线程并发访问数据库,这样会带来线程同步问题,本章我们将讨论MyBatis的线程同步问...

好程序员官方
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部