iOS常用调试方法之静态分析详解

前言

在iOS项目开发过程中,常用到静态分析(Analyze)、断点(BreakPoint)和控制台(Console)进行代码调试。本篇文章介绍Xcode常用调试方法之”静态分析“。

本文来自360奇舞团QiShare团队投稿。

一、简介

Xcode的静态分析功能是在程序未运行的情况下,对代码的上下文语义、语法、和内存情况进行分析,可以检测出代码潜在的文本本地化问题(Localizability Issue)、逻辑问题(Logic error)、内存问题(Memery error)、数据问题(Dead store)和语法问题(Core Foundation/Objective-C)等。功能入口在Xcode菜单栏

-> Product -> Analyze(Command+Shift+B)。图示如下:

按照提示,使用NSLocalizedString(<#key#>,<#comment#>)修饰文本即可修复,图示如下:

三、逻辑问题

使用Analyze可以分析出来代码中潜在的逻辑问题。比如直接使用NSNumber的对象作为条件时,会得到提示Converting a pointer value of type 'NSNumber *' to a primitive boolean value; instead,either compare the pointer to nil or call -boolValue。图示如下:

上图中有两处和内存相关的提示,开发者可以按照提示进行相应的修改。图示如下:

上图中的string被提示在初始化后从未被用到。是因为第二部的赋值操作为string重新申请了内存。这时,开发者去掉第一步初始化方法即可。图示如下:

根据提示自己检查可以知道是if语句写错了,多了一个=。修改如下:

微信公众号搜索 “ 程序精选 ” ,选择关注!
精选程序员所需精品干货内容!