https://cocoapods.org/
使用cocoapod安装完pod之后,要导入头文件,必须先设置头文件路径。
在项目的Target的里设置一下:
Search Paths/User Header Search Paths
输入${SRCROOT} 后面选上recursive。
MBProgressHUD
AFNetworking
SBJson
此网址说明了JSon类型与Objective-c对应关系:
http://cocoadocs.org/docsets/SBJson/4.0.0/Classes/SBJson4Parser.html
null -> NSNull
string -> NSString
array -> NSMutableArray
object -> NSMutableDictionary
true -> NSNumber’s -numberWithBool:YES
false -> NSNumber’s -numberWithBool:NO
number -> NSNumber
使用:
//讲字符串转为Json对象(包括NSMutableDictionary,NSMutableArray)
SBJsonParser *parser = [[SBJsonParser alloc] init];
NSString *jsonString = @"{\"foo\":\"bar\"}";
NSMutableDictionary *dict = [parser objectWithString:jsonString];
//讲json对象装换为json字符串
SBJsonWriter *writer = [[SBJsonWriter alloc] init];
NSString *str = [writer stringWithObject:array];
Reachability (用来判断网络连接是否正常)
判断网络是否连接
/***
* 此函数用来判断是否网络连接服务器正常
* 需要导入Reachability类
*/
+ (BOOL)isExistenceNetwork
{
BOOL isExistenceNetwork;
Reachability *reachability = [Reachability reachabilityWithHostName:@""]; // 测试服务器状态
switch([reachability currentReachabilityStatus]) {
case NotReachable:
isExistenceNetwork = FALSE;
break;
case ReachableViaWWAN:
isExistenceNetwork = TRUE;
break;
case ReachableViaWiFi:
isExistenceNetwork = TRUE;
break;
}
return isExistenceNetwork;
}
* 此函数用来判断是否网络连接服务器正常
* 需要导入Reachability类
*/
+ (BOOL)isExistenceNetwork
{
BOOL isExistenceNetwork;
Reachability *reachability = [Reachability reachabilityWithHostName:@""]; // 测试服务器状态
switch([reachability currentReachabilityStatus]) {
case NotReachable:
isExistenceNetwork = FALSE;
break;
case ReachableViaWWAN:
isExistenceNetwork = TRUE;
break;
case ReachableViaWiFi:
isExistenceNetwork = TRUE;
break;
}
return isExistenceNetwork;
}
实时通知网络状况
/*
* 在应用委托的方法didFinishLaunchingWithOptions中添加
*/
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reachabilityChanged:) name:kReachabilityChangedNotification object:nil];
reachability = [[Reachability reachabilityWithHostName:@"www.baidu.com"] retain];
[reachability startNotifier];
........
return YES;
/**
*此函数通过判断联网方式,通知给用户
*/
- (void)reachabilityChanged:(NSNotification *)notification
{
Reachability *curReachability = [notification object];
NSParameterAssert([curReachability isKindOfClass:[Reachability class]]);
NetworkStatus curStatus = [curReachability currentReachabilityStatus];
if(curStatus == NotReachable) {
[DOIN_Util logFax:@"连接失败"];
}
}
* 在应用委托的方法didFinishLaunchingWithOptions中添加
*/
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reachabilityChanged:) name:kReachabilityChangedNotification object:nil];
reachability = [[Reachability reachabilityWithHostName:@"www.baidu.com"] retain];
[reachability startNotifier];
........
return YES;
/**
*此函数通过判断联网方式,通知给用户
*/
- (void)reachabilityChanged:(NSNotification *)notification
{
Reachability *curReachability = [notification object];
NSParameterAssert([curReachability isKindOfClass:[Reachability class]]);
NetworkStatus curStatus = [curReachability currentReachabilityStatus];
if(curStatus == NotReachable) {
[DOIN_Util logFax:@"连接失败"];
}
}