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的,两者是相对不同的坐标空间的一个重合点