您的位置:首页 > 移动开发 > IOS开发

iOS错误和警告

2016-04-22 09:39 344 查看
1、Local declaration of 'XXX' hides instance variable
解决方法:
遇到这种原因,是因为本地变量跟函数参数变量同名
2、Implicit declaration of function 'CTSettingCopyMyPhoneNumber'
is invalid in C99
解决方法:

1)导入CoreTelephony这个private framework

2)在xxx.m中加入红字部分:在import 之后加入 extern NSString *CTSettingCopyMyPhoneNumber();

3、Class method 'XXX' not found (return type defaults to 'id')
解决方法:
在.h中声明的方法,要在.m中实现;或者在.m中声明的静态方法,在.h中也要声明
4、Control may reach end of non_void function
解决方法:
它的意思是:控制到达非void函数的结尾。就是说你的一些本应带有返回值的函数到达结尾后可能并没有返回任何 值。这时候,最好检查一下是否每个控制流都会有返回值。
5、unknown type name 'XXX'错误
如果是报这个错误,多半是你的对象类型没有被识别,检查是不是没有引用对应的库或者头文件在你的文件头部
分,还有可能是循环引用导致的,循环引用的解决方法就是
Class A 中用import Class B

Class B的.h头文件里用@class A;

.m文件里再用import

6、nested push animation can result in corrupted navigation bar

当接受到推送通知时,需要要求跳转到指定的页面。我们登录成功后只有一个viewcontroller,并且为导航视图。所以可以,使用 popToRootViewControllerAnimated
先跳转到根视图,然后在从根视图push到其他视图。

这个理论上是没有问题。但是在实际操作中,页面在跳转到你理想的界面以后,你再 使用 [self.navigationController popViewControllerAnimated:YES];的时候会出现多出一个navigation
bar,但这个bar并不是你想要的那样。是平白无故多出一个,但是在你打印堆栈的时候你发现堆栈中进出栈并没有错。还有一种情况,那就是控制台打印出如下的错误信息

nested push animation can result in corrupted navigation bar和

Finishing up a navigation transition in an unexpected state. Navigation Bar subview tree might get corrupted.

2013-01-05 16:47:39.740 MandalaSocial[3144:707] Unbalanced calls to begin/end appearance transitions for .

导致这两种情况的原因那就可能是因为,pop和push的操作太连贯,会造成navgation的动画还没执行完毕,就开始执行下一个了。

解决方案:

[nav popToRootViewControllerAnimated:YES];这句话的YES,改为NO...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: