美文网首页
iOS 日常错误汇总--持续更新中。。。

iOS 日常错误汇总--持续更新中。。。

作者: Mr__Peng__ | 来源:发表于2018-08-23 11:54 被阅读0次

    日常编程错误

    1. Multiple methods named 'count' found with mismatched result, parameter type
      错误概述:发现多个参数类型和返回值不相同的count方法
      错误发生场景:UITableView dataSource numberOfRowsInSection方法使用二维数组调用方式获取Rows行数
     [[self.dataArray objectAtIndex:section] count]
    

    objectAtIndex 返回的是个id类型,id类型调用了count方法,编译器遍历所有的可见头的count方法,编译器会找到多个定义,返回值不一样的,参数类型不一样的,比如count方法在NSArray,NSSet等类上也有实现,或者自己自定义的count 方法。编译器不知道该使用哪个方法,强制指定objectAtIndex的值类型,告诉编译器要调用指定的count方法

      [(NSArray *)[self.dataArray objectAtIndex:section] count]
    
    1. cannot jump from switch statement to this case label
      switch-case 中是不可以定义对象的,否则就会报错,添加大括号可以修复错误
    2. Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'invalid nib registered for identifier (Sunmesing.XMXMiddleMainTableViewCell) - nib must contain exactly one top level object which must be a UITableViewCell instance'
    3. static declaration follows non-static declaration
      原因是 调用静态函数没有先声明,就是定义在调用之后。调用之前声明一下这个函数。
    4. Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "CGColorController" nib but the view outlet was not set.'
      加载Nib错误
    5. Assertion failure in -[PSTableView _configureCellForDisplay:forIndexPath:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKitCore_Sim/UIKit-3698.93.8/UITableView.m:9655
    if (cell == nil) {  // 报错原因 此处没有判空
            cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:ClassToString(UITableViewCell)];
        }
    

    日常警告

    1. ld: warning: directory not found for option
      警告原因:将文件夹删除,但是之前添加过该路径
      解决方法 :打开项目target ->build setting -> library search pathframework search path -> 移除已经无效的路径

    2. warning: no rule to process file
      警告原因:.h文件出现在target -> build phases -> compile sources
      解决方法: 移除即可

    3. xx is missing from working copy
      警告原因:删除不用图片后图片后
      解决方法:Xcode - Preferences -> Source -> Enable Source Control 禁用Xcode 自带 Source Control Manager

    4. 屏蔽编译器警告

    #pragma clang diagnostic push
    #pragma clang diagnostic ignored ""
    //代码段
    #pragma clang diagnostic pop

    打包错误

    1. application loader 打包报Please sign in with an app-specific password. You can create one at appleid.apple.com.
      原因: 开启了二次认证
      解决方案:关闭二次认证
      或登录苹果官网,找到安全选项-> app专用密码 -> 生成密码 -> 用新生成的密码登录

    相关文章

      网友评论

          本文标题:iOS 日常错误汇总--持续更新中。。。

          本文链接:https://www.haomeiwen.com/subject/gaepiftx.html