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]来判断)

  • 相关阅读:
    Solution: Win 10 和 Ubuntu 16.04 LTS双系统, Win 10 不能从grub启动
    在Ubuntu上如何往fcitx里添加输入法
    LaTeX 笔记---Q&A
    Hong Kong Regional Online Preliminary 2016 C. Classrooms
    Codeforces 711E ZS and The Birthday Paradox
    poj 2342 anniversary party
    poj 1088 滑雪
    poj 2479 maximum sum
    poj 2481 cows
    poj 2352 stars
  • 原文地址:https://www.cnblogs.com/Dylan-Alice/p/Dylan_iOSProject.html
Copyright © 2011-2022 走看看