zoukankan      html  css  js  c++  java
  • IOS开发中一些受用的编码和调试方法积累

    1.## 与 @# 在宏里面该怎样使用

    • ##的使用, 首先我们添加一个宏

      1 #define LRWeakSelf(type)  __weak typeof(type) weak##type = type;

      ##是连接的作用, 即当使用上面的宏会把weak与输入的type值连接起来如下图:

    • #的意思是紧跟着它的后面的标识符添加一个双引号""@#的使用, 我们添加一个普通的宏:

    1 #define LRToast(str) [NSString stringWithFormat:@"%@",str]
    2 //这个宏需要这样写
    3 LRToast(@"温馨提示");
    4 NSLog(@"%@",LRToast(@"温馨提示"));

    强调下我只是随便定义一个宏来做示例, 以上代码是正常的使用,我们在来看看添加@#是怎么使用的:

    1 #define LRToast(str) [NSString stringWithFormat:@"%@",@#str]
    2   //这个宏需要这样写
    3   LRToast(温馨提示);
    4   //正常运行, 打印不会报错
    5   NSLog(@"%@",LRToast(温馨提示));

    我们可以看出来 LRToast(温馨提示);LRToast(@"温馨提示");区别, 也就是说@#可以代替@"" 那么我们以后开发就省事了, 不用再添加@""了!

    2.用断点调试崩溃问题的小技巧

    有时候遇到Bug,会直接崩溃到主函数,这个时候我们更想快速定位崩溃的地方。

    Xcode提供了一个全局断点,可以快速定位崩溃的地方,全局断点的添加方法:

     


    但是添加全局断点后会跳转到主函数, 会遇到如上图的情况, 那么80%的问题就是storyboard或者xib拖线没有及时清理掉坏线,所以会造成崩溃!

    3.App迭代开发版本号的规则

    在iOS中简单的版本号是怎样管理的呢? 首先我们的App第一版本首次上线, 比如以1.0.0为首次上线的版本号:

    • 上线后突然发现一个严重的Bug那我们就要修复更新版本, 此时我们的版本号为1.0.1

    所以说如果修复Bug或者优化功能, 我们只修改叠加第三位数字, 其他不变

    • 如果有了新的需求, 在原来的基础上增加了一个新功能, 那么我们的版本号变为1.1.0, 需要清空第三位数字为0, 来叠加修改第二位数字
    • 如果App需求功能大改, 更新量非常大, 那我们的版本号变为2.0.0, 需要叠加修改第一位数字, 清空其他数字为0
  • 相关阅读:
    kfx格式的复活
    HTC(HTML Component)开发简介
    window.open window.showModelDialog 打开一个新窗口/子窗口中调用父窗口的方法
    用 Firebug 动态调试和优化应用程序
    HTC——浏览器上的舞者
    innerHTML、innerText和outerHTML、outerText的区别
    window.parent与window.opener的区别与使用
    window.parent与window.opener、window.showModalDialog的区别 opener和showModalDialog刷新父页面的方法
    HTML Component(HTC)
    Hibernate下数据批量处理解决方案
  • 原文地址:https://www.cnblogs.com/cy568searchx/p/6371396.html
Copyright © 2011-2022 走看看