From dea930693169c21aac68601e2afc4dde28b92f69 Mon Sep 17 00:00:00 2001 From: wushenghua Date: Wed, 20 Jan 2016 18:16:28 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- WlianWorld.podspec | 8 +- .../UserInterfaceState.xcuserstate | Bin 74354 -> 90573 bytes .../xcdebugger/Breakpoints_v2.xcbkptlist | 48 -------- .../AppIcon.appiconset/Contents.json | 11 +- WlianWorld/Model/BaseAPIClient.m | 15 ++- WlianWorld/Model/BaseModel.h | 9 +- WlianWorld/Model/BaseModel.m | 53 ++++----- WlianWorld/Model/BaseWLService.m | 107 ++++++++--------- WlianWorld/Model/LoginModel.m | 2 + WlianWorld/Model/NSString+HXAddtions.m | 109 ++++++++---------- WlianWorld/PrefixHeader.pch | 14 +-- WlianWorld/View/LoginViewController.m | 2 + WlianWorld/ViewModel/BaseViewModel.m | 9 +- 13 files changed, 163 insertions(+), 224 deletions(-) diff --git a/WlianWorld.podspec b/WlianWorld.podspec index e288330..626b90a 100644 --- a/WlianWorld.podspec +++ b/WlianWorld.podspec @@ -91,23 +91,25 @@ Pod::Spec.new do |s| s.source_files = 'WlianWorld/Model/*','WlianWorld/Util/**/*','WlianWorld/View/*','WlianWorld/ViewModel/*','WlianWorld/Config/*' # s.exclude_files = "Classes/Exclude" - s.public_header_files = 'WlianWorld/Config/*.{h}','WlianWorld/Model/*.{h}','WlianWorld/Util/*.{h}' + s.prefix_header_file = 'WlianWorld/PrefixHeader.pch' s.frameworks = "UIKit" + s.dependency 'Mantle' s.dependency 'AFNetworking', '~> 2.5.4' s.dependency 'DTCoreText', '~>1.6.17' - s.dependency 'EGOCache', '~>2.13' + s.dependency 'EGOCache' s.dependency 'Godzippa', '~>1.1.0' s.dependency 'MBProgressHUD', '~>0.9.2' s.dependency 'MJRefresh', '~>3.1.0' s.dependency 'Reachability', '~>3.2' s.dependency 'ReactiveCocoa', '~>2.5' s.dependency 'SDWebImage', '~>3.7.4' - s.dependency 'SecureUDID', '~>1.1' + # s.dependency 'SecureUDID', '~>1.1' s.dependency 'STableViewController', '~>0.0.1' s.dependency 'SVWebViewController', '~>1.0' s.dependency 'SBJson', '~>4.0.2' + # ――― Resources ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― # # # A list of resources included with the Pod. These are copied into the diff --git a/WlianWorld.xcworkspace/xcuserdata/xmfish.xcuserdatad/UserInterfaceState.xcuserstate b/WlianWorld.xcworkspace/xcuserdata/xmfish.xcuserdatad/UserInterfaceState.xcuserstate index 30d955206f87a45c4531847bc5c703713a9a9595..e6b415591ba93e2fd9688351a98583f598db16b7 100644 GIT binary patch literal 90573 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 - - - - - - - - - - - - +@interface BaseModel : MTLModel -@interface BaseModel : MTLModel - -@property (nonatomic,strong)NSString* title; -@property (nonatomic,readonly)NSString* errorCode; -@property (nonatomic,readonly)NSString* errorMessage; +@property (nonatomic, strong) NSString* title; +@property (nonatomic, readonly) NSString* errorCode; +@property (nonatomic, readonly) NSString* errorMessage; @end diff --git a/WlianWorld/Model/BaseModel.m b/WlianWorld/Model/BaseModel.m index c2b8e90..090493c 100644 --- a/WlianWorld/Model/BaseModel.m +++ b/WlianWorld/Model/BaseModel.m @@ -7,40 +7,41 @@ // #import "BaseModel.h" - @implementation BaseModel -+ (NSDictionary *)JSONKeyPathsByPropertyKey { ++ (NSDictionary*)JSONKeyPathsByPropertyKey +{ return @{ - // @"errCode": @"ret", - @"errorCode": @"errorCode", - @"errorMessage": @"errorMessage", - }; + // @"errCode": @"ret", + @"errorCode" : @"errorCode", + @"errorMessage" : @"errorMessage", + }; } -+ (NSValueTransformer *)errorCodeJSONTransformer { - return [MTLValueTransformer transformerUsingForwardBlock:^id(id value,BOOL *success, NSError *__autoreleasing *error) { - - NSNumber *num = value; - - NSString *tempStr = [NSString stringWithFormat:@"%@", num]; - ++ (NSValueTransformer*)errorCodeJSONTransformer +{ + return [MTLValueTransformer transformerUsingForwardBlock:^id(id value, BOOL* success, NSError* __autoreleasing* error) { + + NSNumber* num = value; + + NSString* tempStr = [NSString stringWithFormat:@"%@", num]; + return tempStr; - - } reverseBlock:^id(id value,BOOL *success, NSError *__autoreleasing *error) { - - NSString *tempStr = value; - - NSNumber *tempNum = @(tempStr.integerValue); - - return tempNum; - - }]; + + } + reverseBlock:^id(id value, BOOL* success, NSError* __autoreleasing* error) { + + NSString* tempStr = value; + + NSNumber* tempNum = @(tempStr.integerValue); + + return tempNum; + + }]; } -- (instancetype)initWithDictionary:(NSDictionary *)dictionaryValue error:(NSError **)error +- (instancetype)initWithDictionary:(NSDictionary*)dictionaryValue error:(NSError**)error { self = [super initWithDictionary:dictionaryValue error:error]; - if (self != nil) - { + if (self != nil) { } return self; } diff --git a/WlianWorld/Model/BaseWLService.m b/WlianWorld/Model/BaseWLService.m index a2cb3c2..84820fb 100644 --- a/WlianWorld/Model/BaseWLService.m +++ b/WlianWorld/Model/BaseWLService.m @@ -6,95 +6,86 @@ // Copyright © 2015年 ash. All rights reserved. // -#import "BaseWLService.h" - #import "BaseEntity.h" +#import "BaseWLService.h" +#import "Common.h" -#import "MTLJSONAdapter.h" #import "NSData+Godzippa.h" -#import "EGOCache.h" #import "BaseAPIClient.h" +#import @implementation BaseWLService -+ (void)saveCacheWithAPIKey:(NSString *)apiKey property:(BaseEntity *)proper data:(id)tweet{ ++ (void)saveCacheWithAPIKey:(NSString*)apiKey property:(BaseEntity*)proper data:(id)tweet +{ if (proper.isCache) { SEL selector = NSSelectorFromString(@"errCode"); IMP imp = [tweet methodForSelector:selector]; - NSString* (*func)(id, SEL) = (void *)imp; - NSString *tmpErrCode = func(tweet, selector); + NSString* (*func)(id, SEL) = (void*)imp; + NSString* tmpErrCode = func(tweet, selector); DLog(@"%@", tmpErrCode); - - if (([tmpErrCode isKindOfClass:[NSString class]] && [tmpErrCode isEqualToString:@"0"] ) || ([tmpErrCode isKindOfClass:[NSNumber class]] && [tmpErrCode integerValue]==0)) { + + if (([tmpErrCode isKindOfClass:[NSString class]] && [tmpErrCode isEqualToString:@"0"]) || ([tmpErrCode isKindOfClass:[NSNumber class]] && [tmpErrCode integerValue] == 0)) { [[EGOCache globalCache] setObject:tweet forKey:apiKey]; - } } } -+ (void)responseFromCacheWithAPIKey:(NSString *)apiKey property:(BaseEntity *)proper completionBlock:(id)subscriber{ ++ (void)responseFromCacheWithAPIKey:(NSString*)apiKey property:(BaseEntity*)proper completionBlock:(id)subscriber +{ if (proper.isCache && [[EGOCache globalCache] hasCacheForKey:apiKey]) { [subscriber sendNext:[[EGOCache globalCache] objectForKey:apiKey]]; [subscriber sendCompleted]; } } -+(RACSignal*)requireWithProperty:(BaseEntity *)proper ++ (RACSignal*)requireWithProperty:(BaseEntity*)proper { - -// if (proper.requireType == HTTPRequestTypeWithGET) { -// return [self requireWithGetWithProperty:proper]; -// } -// return nil; + + // if (proper.requireType == HTTPRequestTypeWithGET) { + // return [self requireWithGetWithProperty:proper]; + // } + // return nil; return [self requireWithGetWithProperty:proper]; } -+(RACSignal*)requireWithGetWithProperty:(BaseEntity*)proper ++ (RACSignal*)requireWithGetWithProperty:(BaseEntity*)proper { - NSString *apiKey = proper.cacheKey; - if (proper.pro && proper.pro[@"page"]) - { - apiKey = [apiKey stringByAppendingFormat:@"%@",proper.pro[@"page"]]; + NSString* apiKey = proper.cacheKey; + if (proper.pro && proper.pro[@"page"]) { + apiKey = [apiKey stringByAppendingFormat:@"%@", proper.pro[@"page"]]; } - - - return [[RACSignal createSignal:^RACDisposable *(id subscriber) { + return [[RACSignal createSignal:^RACDisposable*(id subscriber) { [[BaseAPIClient sharedClient] GET:[proper reqURL] - parameters: [proper encodePro] - success:^(AFHTTPRequestOperation * __unused task, id json) { - DLog(@"%@", json); - - if(json) - { - NSError *error = nil; - id tweet = [MTLJSONAdapter modelOfClass:[proper.responesOBJ class] fromJSONDictionary:json error:&error]; - - - [subscriber sendNext:tweet]; - [subscriber sendCompleted]; - - [self saveCacheWithAPIKey:apiKey property:proper data:tweet]; - - } - else - { - [subscriber sendNext:nil]; - [subscriber sendCompleted]; - } - } - failure:^(AFHTTPRequestOperation *__unused task, NSError *error) { - DLog(@"%@", error.description); - - [subscriber sendError:error]; - - [self responseFromCacheWithAPIKey:apiKey property:proper completionBlock:subscriber]; - }]; - + parameters:[proper encodePro] + success:^(AFHTTPRequestOperation* __unused task, id json) { + DLog(@"%@", json); + + if (json) { + NSError* error = nil; + id tweet = [MTLJSONAdapter modelOfClass:[proper.responesOBJ class] fromJSONDictionary:json error:&error]; + + [subscriber sendNext:tweet]; + [subscriber sendCompleted]; + + [self saveCacheWithAPIKey:apiKey property:proper data:tweet]; + } + else { + [subscriber sendNext:nil]; + [subscriber sendCompleted]; + } + } + failure:^(AFHTTPRequestOperation* __unused task, NSError* error) { + DLog(@"%@", error.description); + + [subscriber sendError:error]; + + [self responseFromCacheWithAPIKey:apiKey property:proper completionBlock:subscriber]; + }]; + return [RACDisposable disposableWithBlock:^{ }]; - - }] replayLazily]; - + }] replayLazily]; } @end diff --git a/WlianWorld/Model/LoginModel.m b/WlianWorld/Model/LoginModel.m index 1ae59a9..1e82b2b 100644 --- a/WlianWorld/Model/LoginModel.m +++ b/WlianWorld/Model/LoginModel.m @@ -6,6 +6,8 @@ // Copyright © 2015年 ash. All rights reserved. // +#import "BaseEntity.h" +#import "BaseWLService.h" #import "LoginModel.h" #import "LoginViewModel.h" @implementation LoginModel diff --git a/WlianWorld/Model/NSString+HXAddtions.m b/WlianWorld/Model/NSString+HXAddtions.m index 7335799..3f98c66 100644 --- a/WlianWorld/Model/NSString+HXAddtions.m +++ b/WlianWorld/Model/NSString+HXAddtions.m @@ -10,98 +10,86 @@ #import @implementation NSString (HXAddtions) -+(NSString *) jsonStringWithString:(NSString *) string ++ (NSString*)jsonStringWithString:(NSString*)string { return [NSString stringWithFormat:@"\"%@\"", - [[string stringByReplacingOccurrencesOfString:@"\n" withString:@"\\n"] stringByReplacingOccurrencesOfString:@"\"" withString:@"\\\""] - ]; + [[string stringByReplacingOccurrencesOfString:@"\n" withString:@"\\n"] stringByReplacingOccurrencesOfString:@"\"" withString:@"\\\""]]; } -+(NSString *) jsonStringWithArray:(NSArray *)array ++ (NSString*)jsonStringWithArray:(NSArray*)array { - NSMutableString *reString = [NSMutableString string]; + NSMutableString* reString = [NSMutableString string]; [reString appendString:@"["]; - NSMutableArray *values = [NSMutableArray array]; + NSMutableArray* values = [NSMutableArray array]; for (id valueObj in array) { - NSString *value = [NSString jsonStringWithObject:valueObj]; + NSString* value = [NSString jsonStringWithObject:valueObj]; if (value) { - [values addObject:[NSString stringWithFormat:@"%@",value]]; + [values addObject:[NSString stringWithFormat:@"%@", value]]; } } - [reString appendFormat:@"%@",[values componentsJoinedByString:@","]]; - [reString appendString:@"]"]; + [reString appendFormat:@"%@", [values componentsJoinedByString:@","]]; + [reString appendString:@"]"]; return reString; } -+(NSString *) jsonStringWithDictionary:(NSDictionary *)dictionary ++ (NSString*)jsonStringWithDictionary:(NSDictionary*)dictionary { - NSArray *keys = [dictionary allKeys]; - NSMutableString *reString = [NSMutableString string]; + NSArray* keys = [dictionary allKeys]; + NSMutableString* reString = [NSMutableString string]; [reString appendString:@"{"]; - NSMutableArray *keyValues = [NSMutableArray array]; - for (int i=0; i<[keys count]; i++) { - NSString *name = [keys objectAtIndex:i]; + NSMutableArray* keyValues = [NSMutableArray array]; + for (int i = 0; i < [keys count]; i++) { + NSString* name = [keys objectAtIndex:i]; id valueObj = [dictionary objectForKey:name]; - NSString *value = [NSString jsonStringWithObject:valueObj]; - if (value) - { - [keyValues addObject:[NSString stringWithFormat:@"\"%@\":%@",name,value]]; + NSString* value = [NSString jsonStringWithObject:valueObj]; + if (value) { + [keyValues addObject:[NSString stringWithFormat:@"\"%@\":%@", name, value]]; } } - [reString appendFormat:@"%@",[keyValues componentsJoinedByString:@","]]; + [reString appendFormat:@"%@", [keyValues componentsJoinedByString:@","]]; [reString appendString:@"}"]; return reString; } -+(NSString *) jsonStringWithObject:(id) object ++ (NSString*)jsonStringWithObject:(id)object { - NSString *value = nil; - if (!object) - { + NSString* value = nil; + if (!object) { return value; } - - if ([object isKindOfClass:[NSString class]]) - { + + if ([object isKindOfClass:[NSString class]]) { value = [NSString jsonStringWithString:object]; } - else if([object isKindOfClass:[NSDictionary class]]) - { + else if ([object isKindOfClass:[NSDictionary class]]) { value = [NSString jsonStringWithDictionary:object]; } - else if([object isKindOfClass:[NSArray class]]) - { + else if ([object isKindOfClass:[NSArray class]]) { value = [NSString jsonStringWithArray:object]; } - else if([object isKindOfClass:[NSNumber class]]) - { + else if ([object isKindOfClass:[NSNumber class]]) { value = [NSString jsonStringWithString:[object stringValue]]; } return value; } -+(NSString *) jsonStringWithRTArray:(NSArray *)array ++ (NSString*)jsonStringWithRTArray:(NSArray*)array { - NSMutableString *reString = [[NSMutableString alloc] init]; + NSMutableString* reString = [[NSMutableString alloc] init]; [reString appendString:@"{"]; - NSMutableArray *values = [[NSMutableArray alloc] initWithArray:array]; - for (int i=0; i<[values count]; i++) - { - NSString *tempString = [values objectAtIndex:i]; - NSString *value = [NSString jsonStringWithString:tempString]; - if (i%2 == 0) - { - [reString appendFormat:@"%@:",value]; + NSMutableArray* values = [[NSMutableArray alloc] initWithArray:array]; + for (int i = 0; i < [values count]; i++) { + NSString* tempString = [values objectAtIndex:i]; + NSString* value = [NSString jsonStringWithString:tempString]; + if (i % 2 == 0) { + [reString appendFormat:@"%@:", value]; } - else - { - if (i == [values count]-1) - { - [reString appendFormat:@"%@",value]; + else { + if (i == [values count] - 1) { + [reString appendFormat:@"%@", value]; } - else - { - [reString appendFormat:@"%@,",value]; + else { + [reString appendFormat:@"%@,", value]; } } } @@ -109,17 +97,16 @@ return reString; } -- (NSString *) md5 +- (NSString*)md5 { - const char *cStr = [self UTF8String]; + const char* cStr = [self UTF8String]; unsigned char result[16]; - CC_MD5( cStr, strlen(cStr), result ); // This is the md5 call + CC_MD5(cStr, (int)strlen(cStr), result); // This is the md5 call return [NSString stringWithFormat: - @"%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x", - result[0], result[1], result[2], result[3], - result[4], result[5], result[6], result[7], - result[8], result[9], result[10], result[11], - result[12], result[13], result[14], result[15] - ]; + @"%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x", + result[0], result[1], result[2], result[3], + result[4], result[5], result[6], result[7], + result[8], result[9], result[10], result[11], + result[12], result[13], result[14], result[15]]; } @end \ No newline at end of file diff --git a/WlianWorld/PrefixHeader.pch b/WlianWorld/PrefixHeader.pch index 09e8eb7..97b223a 100644 --- a/WlianWorld/PrefixHeader.pch +++ b/WlianWorld/PrefixHeader.pch @@ -11,12 +11,10 @@ // Include any system framework and library headers here that should be included in all compilation units. // You will also need to set the Prefix Header build setting of one or more of your targets to reference this file. -#import -#import -#import -#import "Common.h" -#import "BaseEntity.h" -#import "BaseWLService.h" -#import -#import "MBProgressHUD+Util.h" + +//#import "Common.h" +//#import "BaseEntity.h" +//#import "BaseWLService.h" +//#import "MBProgressHUD+Util.h" +#import #endif /* PrefixHeader_pch */ diff --git a/WlianWorld/View/LoginViewController.m b/WlianWorld/View/LoginViewController.m index 5960557..3887aa0 100644 --- a/WlianWorld/View/LoginViewController.m +++ b/WlianWorld/View/LoginViewController.m @@ -7,8 +7,10 @@ // #import "AWordDefault.h" +#import "Common.h" #import "LoginViewController.h" #import "LoginViewModel.h" +#import "MBProgressHUD+Util.h" @interface LoginViewController () @property (weak, nonatomic) IBOutlet UIButton* sureBtn; diff --git a/WlianWorld/ViewModel/BaseViewModel.m b/WlianWorld/ViewModel/BaseViewModel.m index 2fc1590..baed5fe 100644 --- a/WlianWorld/ViewModel/BaseViewModel.m +++ b/WlianWorld/ViewModel/BaseViewModel.m @@ -6,15 +6,16 @@ // Copyright © 2015年 ash. All rights reserved. // -#import "BaseViewModel.h" +#import "BaseEntity.h" #import "BaseModel.h" +#import "BaseViewModel.h" @implementation BaseViewModel -+(BaseEntity*)requireWithDic:(NSDictionary *)dic withModel:(BaseModel*)model ++ (BaseEntity*)requireWithDic:(NSDictionary*)dic withModel:(BaseModel*)model { - BaseEntity *pro = [[BaseEntity alloc] init]; + BaseEntity* pro = [[BaseEntity alloc] init]; pro.requireType = HTTPRequestTypeWithGET; - pro.responesOBJ = model.class; + pro.responesOBJ = [(id)model class]; pro.reqURL = @""; pro.pro = dic; return pro;