iOS 開發中常用知識點和技巧

以後開發中常用的知識和小技巧:

需要掌握的第三方框架:

網絡請求類:AFNetworking(必須)、ASIHTTPRequest(和可能會用到,儘量掌握)

圖片加載類:SDWebImage(必須)

數據庫: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]來判斷)


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章