01-18-1
NSComparisonResult
{NSOrderedAscending = -1L, NSOrderedSame, NSOrderedDescending};——升、同、降
排序比較次數:n - 1
根據長度比較:sortedArrayUsingSelector 將根據數組中兩個元素的長度返回NSComparisonResult的結果進行排序
長度相同,--NSOrderedSame,比較結果長,按升序進行排序---NSOrderedAscending,比較結果短,按降序進行排序---NSOrderedDescending
16進制顏色:
unsigned int red, green, blue;
NSRange range;
range.length = 2;
range.location = 0;
[[NSScanner scannerWithString:[hexColor substringWithRange:range]] scanHexInt:&red];
range.location = 2;
[[NSScanner scannerWithString:[hexColor substringWithRange:range]] scanHexInt:&green];
range.location = 4;
[[NSScanner scannerWithString:[hexColor substringWithRange:range]] scanHexInt:&blue];
return [UIColor colorWithRed:(float)(red/255.0f) green:(float)(green/255.0f) blue:(float)(blue/255.0f) alpha:1.0f];
01-18-2
SystemConfiguration框架里有提供了和聯網相關的函數,可以用來檢查網絡的連接狀態。
(1)創建測試連接的引用
SCNetworkReachabilityRef 處理網絡地址和名稱
1、SCNetworkReachabilityRef? ? defaultRouteReachability = SCNetworkReachabilityCreateWithAddress(NULL, (struct sockaddr *)&zeroAddress);
為指定的地址創建一個可達性參考
根據傳入的地址測試連接,第一個參數可以為NULL或kCFAllocatorDefault,第二個參數為需要測試連接的IP地址,當為0.0.0.0時則可以查詢本機的網絡連接狀態。同時返回一個引用必須在用完后釋放。
2、SCNetworkReachabilityRef SCNetworkReachabilityCreateWithName (
CFAllocatorRef allocator,
const char *nodename
);
根據傳入的網址測試連接,第二個參數比如為"www.apple.com"
(2)確定連接的狀態:
Boolean SCNetworkReachabilityGetFlags (
SCNetworkReachabilityRef target,
SCNetworkReachabilityFlags *flags
);
BOOL didRetrieveFlags = SCNetworkReachabilityGetFlags(defaultRouteReachability, &flags);
這個函數用來獲得測試連接的狀態,第一個參數為之前建立的測試連接的引用,第二個參數用來保存獲得的狀態,如果能獲得狀態則返回TRUE,否則返回FALSE
(3)主要常量介紹:
SCNetworkReachabilityFlags:保存返回的測試連接狀態
其中常用的狀態有:
kSCNetworkReachabilityFlagsReachable:能夠連接網絡
kSCNetworkReachabilityFlagsConnectionRequired:能夠連接網絡,但是首先得建立連接過程
kSCNetworkReachabilityFlagsIsWWAN:判斷是否通過蜂窩網覆蓋的連接,比如EDGE,GPRS或者目前的3G.主要是區別通過WiFi的連接。
01-18-3
//同類型賦值----NSValue
CGRect rect = CGRectMake(0, 2, 59, 49);
NSValue *vava = [NSValue valueWithBytes:&rect objCType:@encode(CGRect)];
CGRect get;
[vava getValue: &get];? ? //
//Copies the value into the specified buffer.
2、stringByExpandingTildeInPath
將路徑中的代字符擴展成用戶主目錄(~)或指定用戶的主目錄(~user)。
3、bitcode是被編譯程序的一種中間形式的代碼。包含bitcode配置的程序將會在App store上被編譯和鏈接。bitcode允許蘋果在后期重新優化程序的二進制文件,而不需要重新提交一個新的版本到App store上。
4、%02X
X 表示以十六進制形式輸出02 表示不足兩位,前面補0輸出;出過兩位,不影響
printf("%02X", 0x123); //打印出:123printf("%02X", 0x1); //打印出:01
%02X
X 表示以十六進制形式輸出
02 表示不足兩位,前面補0輸出;出過兩位,不影響
5、加密過程:
1]、對需要加密的字符,進行字符編碼轉換,轉換成utf-8
2]、CC_MD5( cStr, strlen(cStr), result);,把cStr字符串轉換成了一組16字節長度的八進制(這個過程不可逆轉) 存儲到了result這個空間中
3]、然后進行16進制輸出
6、對position與anchorPoint的理解:
position是layer相對superLayer坐標空間的位置,anchorPoint點是相對layer的,兩者是相對不同的坐標空間的一個重合點