zoukankan      html  css  js  c++  java
  • iOS开发中的技巧, 注意事项

    以后开发中常用的知识和小技巧:

    需要掌握的第三方框架:

    网络请求类:AFNetworking(必须)、ASIHTTPRequest(和可能会用到,尽量掌握)

    图片加载类:SD WebImage(必须)

    数据库:FMDB

    瀑布流:第三方和系统自带的.PS:系统自带的瀑布流只支持iOS6或者以上系统

    抽屉效果:有多个如:MMDrawerController

    下拉刷新:第三方和系统自带的,PS:系统自带的UIRefreshControl只支持iOS6或者以上系统

    UIWebView主要是于JS的交互

    ARC是iOS5之后推出的功能:

    如果你的项目使用的是MRC,则为ARC模式的代码文件加入-fobjc-arc.

    如果你的项目使用的时ARC,则为MRC模式的代码文件加入-fno-objc-arc 

    分享到第三方应用:ShareSDK或者是友盟,第三方开放平台的注册

    地图:百度地图API,高德地图API

    网络判断:Reachability

    数据统计:TalkingData(了解,知道有这么个东西,以后用的时候查询)

    如何进行程序的版本迭代

    1、DLog的使用,DLog在DeBug模式下会输出信息,包括方法名,行数以及你想要输出的内容。定义如下(包括ELog):

    #ifdef DEBUG

    #ifndef DLog

    #   define DLog(fmt, ...) {NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);}

    #endif

    #ifndef ELog

    #   define ELog(err) {if(err) DLog(@"%@", err)}

    #endif

    #else

    #ifndef DLog

    #   define DLog(...)

    #endif

    #ifndef ELog

    #   define ELog(err)

    #endif

    #endif

    2、3.5英寸和4.0英寸屏幕的判断,用来做3.5和4.0寸屏幕的适配,iPhone5和iphone5s是4.0寸屏幕

    #define iPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : NO)

    3、根据版本不同,设置不同的文本对齐格式,iOS6.0之后和iOS6之前设置文本的对齐方式的语句不同.

    // 当前系统支持的最小版本

    __IPHONE_OS_VERSION_MIN_REQUIRED

    // 当前系统指出的最大版本

    __IPHONE_OS_VERSION_MAX_ALLOWED

    #if __IPHONE_OS_VERSION_MIN_REQUIRED >= 60000

    #define LOLabelAlignmentCenter NSTextAlignmentCenter

    #else

    #define LOLabelAlignmentCenter UITextAlignmentCenter

    #endif

    可以通过以下语句获取当前系统的版本

    [[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0(判断当前系统是否大于7.0,可以用来做iOS6和iOS7的适配)

    4、给一个RGB值得到对应的UIColor

    #define UIColorFromRGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0] 

    5、iOS7导航栏和状态栏的定制

    http://www.cocoachina.com/applenews/devnews/2013/1104/7287.html

    iOS7和iOS6的适配

    http://blog.csdn.net/liulushi_1988/article/details/14105187

    6、iOS谓词  NSPredicate,知道如何去匹配邮箱,网址

    http://blog.csdn.net/long11995563/article/details/9399891

    7、代码保护,比如在从数组中取元素的时候,首先判断数组的元素个数,然后在从数组里面取元素;另外从服务器返回的数据,比如字典,在使用之前,首先判断取出来的数据是否是null(因为在服务器端,如果数据库里面没有给默认值的话,可能是空,使用isEqual: [NSNull null]来判断)

  • 相关阅读:
    浮点数
    opencv笔记-GFTTDetector
    有向图与关联矩阵
    亚像素角点
    字符串格式化输出
    字符串表示与转换
    Bresenham算法
    罗德里格斯公式
    模型调参
    jave 逻辑运算 vs 位运算 + Python 逻辑运算 vs 位运算
  • 原文地址:https://www.cnblogs.com/Dylan-Alice/p/Dylan_iOSProject.html
Copyright © 2011-2022 走看看