BaseViewController.m 16.7 KB
Newer Older
曹云霄's avatar
曹云霄 committed
1 2 3 4 5 6 7 8 9
//
//  BaseViewController.m
//  Lighting
//
//  Created by 曹云霄 on 16/4/27.
//  Copyright © 2016年 上海勾芒科技有限公司. All rights reserved.
//

#import "BaseViewController.h"
10
#import "LoginViewController.h"
勾芒's avatar
勾芒 committed
11
@interface BaseViewController ()<UIPrintInteractionControllerDelegate,UIWebViewDelegate>
曹云霄's avatar
曹云霄 committed
12

13

勾芒's avatar
勾芒 committed
14
@property (nonatomic,strong) UIWebView *webView;
曹云霄's avatar
曹云霄 committed
15

勾芒's avatar
勾芒 committed
16 17 18 19 20
/**
 *  提示框
 */
@property (nonatomic,strong) PromptinformationView *promptView;

曹云霄's avatar
曹云霄 committed
21 22 23 24 25 26 27 28 29 30 31 32 33 34
@end

@implementation BaseViewController


/**
 *  创建MBProgressHUD对象
 *
 *  @return MBProgressHUD
 */
- (MBProgressHUD *)TCHud
{
    if (_TCHud == nil) {
        
35
        _TCHud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
曹云霄's avatar
曹云霄 committed
36 37 38 39
    }
    return _TCHud;
}

勾芒's avatar
勾芒 committed
40

勾芒's avatar
勾芒 committed
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
/**
 *  初始化提示框
 *
 *  @return PromptinformationView
 */
- (PromptinformationView *)promptView
{
    if (_promptView == nil) {
        
        _promptView = [[[NSBundle mainBundle] loadNibNamed:@"PromptinformationView" owner:self options:nil] firstObject];
    }
    return _promptView;
}


勾芒's avatar
勾芒 committed
56 57 58 59 60 61 62 63 64 65
- (UIWebView *)webView
{
    if (_webView == nil) {
        
        _webView = [[UIWebView alloc]initWithFrame:CGRectMake(0, 0, ScreenWidth, ScreenHeight)];
    }
    return _webView;
}


曹云霄's avatar
曹云霄 committed
66 67 68
- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
勾芒's avatar
勾芒 committed
69
    self.automaticallyAdjustsScrollViewInsets = NO;
70 71 72 73
    //检测登陆超时通知
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(logintimeoutNotification:) name:LOGINTIMEOUT object:nil];
}

74

75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
#pragma mark -登陆超时回调
- (void)logintimeoutNotification:(NSNotification *)not
{
    __weak typeof(self) weakSelf = self;
    UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"提示" message:@"登陆超时,请重新登陆" preferredStyle:UIAlertControllerStyleAlert];
    [alert addAction:[UIAlertAction actionWithTitle:@"我知道了" style:UIAlertActionStyleDestructive handler:^(UIAlertAction * _Nonnull action) {
        [weakSelf dismissViewControllerAnimated:YES completion:nil];
        [Shoppersmanager manager].currentCustomer = NO;
        [Customermanager manager].model = nil;
        UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
        LoginViewController *loginVC = [storyboard instantiateViewControllerWithIdentifier:@"Login"];
        [[NSUserDefaults standardUserDefaults] removeObjectForKey:USERNAME];
        [[NSUserDefaults standardUserDefaults] removeObjectForKey:PASSWORD];
        [weakSelf restoreRootViewController:loginVC];
    }]];
    dispatch_async(dispatch_get_main_queue(), ^{
91
        [self presentViewController:alert animated:YES completion:nil];
92
    });
曹云霄's avatar
曹云霄 committed
93 94
}

95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113

#pragma mark -切换rootViewcontroller
- (void)restoreRootViewController:(UIViewController *)rootViewController
{
    typedef void (^Animation)(void);
    UIWindow* window = SHARED_APPDELEGATE.window;
    rootViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
    Animation animation = ^{
        BOOL oldState = [UIView areAnimationsEnabled];
        [UIView setAnimationsEnabled:NO];
        window.rootViewController = rootViewController;
        [UIView setAnimationsEnabled:oldState];
    };
    
    [UIView transitionWithView:window
                      duration:0.5f
                       options:UIViewAnimationOptionTransitionFlipFromBottom
                    animations:animation
                    completion:nil];
曹云霄's avatar
曹云霄 committed
114 115
}

116 117


曹云霄's avatar
曹云霄 committed
118 119 120
#pragma mark -渐隐提示框回调
- (void)SHOWPrompttext:(NSString *)Text ComcpleteBlock:(void(^)())completed
{
121 122
    MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view.window animated:YES];
    hud.labelText = Text;
曹云霄's avatar
曹云霄 committed
123 124 125
    hud.animationType = MBProgressHUDAnimationZoom;
    hud.mode = MBProgressHUDModeText;
    hud.removeFromSuperViewOnHide = YES;
126 127
    [hud hide:YES afterDelay:1.0f];
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
曹云霄's avatar
曹云霄 committed
128 129 130 131 132 133 134
        if (completed) {
            completed();
        }
    });
}

#pragma mark -显示MBProgressHUD等待视图
135
- (void)CreateMBProgressHUDLoding
曹云霄's avatar
曹云霄 committed
136 137 138
{
    self.TCHud.animationType = MBProgressHUDAnimationZoom;
    self.TCHud.mode = MBProgressHUDModeIndeterminate;
139 140
    self.TCHud.color = [UIColor clearColor];
    self.TCHud.activityIndicatorColor = kMainBlueColor;
曹云霄's avatar
曹云霄 committed
141 142 143
    self.TCHud.removeFromSuperViewOnHide = YES;
}

144 145 146 147 148


#pragma mark -进度条
- (void)ShowProgressView:(double)progress
{
149 150 151 152 153 154 155
    dispatch_async(dispatch_get_main_queue(), ^{
        self.TCHud.mode = MBProgressHUDModeDeterminateHorizontalBar;
        self.TCHud.labelText = @"上传中....";
        self.TCHud.labelFont = [UIFont systemFontOfSize:12];
        self.TCHud.progress = progress;
        self.TCHud.removeFromSuperViewOnHide = YES;
    });
156 157
}

曹云霄's avatar
曹云霄 committed
158
#pragma mark -移除MBProgressHUD等待视图
159
- (void)RemoveMBProgressHUDLoding;
曹云霄's avatar
曹云霄 committed
160
{
161 162 163 164
    dispatch_async(dispatch_get_main_queue(), ^{
        [self.TCHud hide:YES];
        self.TCHud = nil;
    });
曹云霄's avatar
曹云霄 committed
165 166
}

167 168 169 170

#pragma mark -显示成功的提示框
- (void)SuccessMBProgressView:(NSString *)successString
{
171
    MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view.window animated:YES];
172
    hud.mode = MBProgressHUDModeCustomView;
勾芒's avatar
勾芒 committed
173
    UIImage *image = [[UIImage imageNamed:@"Checkmark"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
174
    hud.customView = [[UIImageView alloc] initWithImage:image];
175 176 177 178
    hud.color = [[UIColor blackColor] colorWithAlphaComponent:0.6];
    hud.labelFont = [UIFont systemFontOfSize:12];
    hud.labelText = successString;
    [hud hide:YES afterDelay:1];
179 180
}

181
#pragma mark -显示信息的提示框
182 183
- (void)ErrorMBProgressView:(NSString *)errorString
{
184 185
    MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
    hud.labelText = errorString;
勾芒's avatar
勾芒 committed
186
    hud.margin = 10.f;
187
    hud.color = [[UIColor blackColor] colorWithAlphaComponent:0.5];
188
    hud.minSize = CGSizeMake(250, 70);
勾芒's avatar
勾芒 committed
189 190 191
    hud.animationType = MBProgressHUDAnimationZoom;
    hud.mode = MBProgressHUDModeText;
    hud.removeFromSuperViewOnHide = YES;
192
    [hud hide:YES afterDelay:1.0f];
193 194 195
}


勾芒's avatar
勾芒 committed
196 197 198 199

#pragma mark -渐隐提示框
- (void)SHOWPrompttext:(NSString *)Text
{
200 201
    MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
    hud.labelText = Text;
勾芒's avatar
勾芒 committed
202
    hud.margin = 10.f;
203
    hud.color = [[UIColor blackColor] colorWithAlphaComponent:0.5];
勾芒's avatar
勾芒 committed
204
    hud.minSize = CGSizeMake(200, 50);
勾芒's avatar
勾芒 committed
205 206 207
    hud.animationType = MBProgressHUDAnimationZoom;
    hud.mode = MBProgressHUDModeText;
    hud.removeFromSuperViewOnHide = YES;
208
    [hud hide:YES afterDelay:1.0f];
勾芒's avatar
勾芒 committed
209 210 211 212
    
}


213 214


曹云霄's avatar
曹云霄 committed
215 216 217 218 219 220 221 222 223 224 225 226 227
#pragma mark -结束MJRfresh刷新
- (void)endRefreshingForTableView:(UIScrollView *)TableView
{
    if (TableView.mj_header.isRefreshing) {
        
        [TableView.mj_header endRefreshing];
    }
    else if (TableView.mj_footer.isRefreshing)
    {
        [TableView.mj_footer endRefreshing];
    }
}

曹云霄's avatar
曹云霄 committed
228 229 230 231 232 233 234 235
#pragma mark -获得我的storyboard对象
- (UIStoryboard *)getStoryboardWithName
{
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"StoryboardwithCYX" bundle:nil];
    return storyboard;
}

#pragma mark 调用airPrint无线打印机
勾芒's avatar
勾芒 committed
236
- (void)callAirprintWithdata:(NSString *)PDFpath SuccessBlock:(void(^)())success ErrorBlock:(void(^)())failed
曹云霄's avatar
曹云霄 committed
237 238
{
    
勾芒's avatar
勾芒 committed
239
    NSData *mypdfdata = [NSData dataWithContentsOfFile:PDFpath];
曹云霄's avatar
曹云霄 committed
240 241 242 243 244 245 246 247 248 249 250
    UIPrintInteractionController *pic = [UIPrintInteractionController sharedPrintController];
    if  (pic && [UIPrintInteractionController canPrintData: mypdfdata] ) {
        pic.delegate = self;
        UIPrintInfo *printInfo = [UIPrintInfo printInfo];
        printInfo.outputType = UIPrintInfoOutputGeneral;
        printInfo.jobName = @"订单明细";
        printInfo.duplex = UIPrintInfoDuplexLongEdge;
        pic.printInfo = printInfo;
        pic.showsPageRange = YES;
        pic.printingItem = mypdfdata;
        
勾芒's avatar
勾芒 committed
251 252 253 254 255 256 257 258 259 260 261
        void (^completionHandler)(UIPrintInteractionController *, BOOL, NSError *) = ^(UIPrintInteractionController *pic, BOOL completed, NSError *error) {
            if (completed)
            {
                // 执行成功后的处理
                success();
            }
            else if (!completed && error)
            {
                // 执行失败后的处理
                failed();
            }
曹云霄's avatar
曹云霄 committed
262
        };
勾芒's avatar
勾芒 committed
263 264
        
        if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {
曹云霄's avatar
曹云霄 committed
265 266 267 268 269 270
            
            [pic presentAnimated:YES completionHandler:completionHandler];
        }
    }
}

曹云霄's avatar
曹云霄 committed
271

勾芒's avatar
勾芒 committed
272 273 274 275



#pragma mark 调用airPrint无线打印机
勾芒's avatar
勾芒 committed
276
- (void)callAirprintWithURL:(NSURL *)datasurl SuccessBlock:(void (^)())success ErrorBlock:(void (^)())failed
勾芒's avatar
勾芒 committed
277
{
278
    //    NSData *mypdfdata = [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"The Swift Programming Language 中文版 - v1.2" ofType:@"pdf"]];
勾芒's avatar
勾芒 committed
279 280
    
    UIPrintInteractionController *pic = [UIPrintInteractionController sharedPrintController];
勾芒's avatar
勾芒 committed
281
    
282 283 284 285 286 287 288 289 290 291
    pic.delegate = self;
    [self.webView loadRequest:[NSURLRequest requestWithURL:datasurl]];//网页
    self.webView.delegate = self;
    pic.printFormatter = [self.webView viewPrintFormatter];//布局打印视图绘制的内容。
    UIPrintInfo *printInfo = [UIPrintInfo printInfo];
    printInfo.outputType = UIPrintInfoOutputGeneral;
    printInfo.jobName = @"订单明细";
    printInfo.duplex = UIPrintInfoDuplexShortEdge;
    pic.printInfo = printInfo;
    pic.showsPageRange = YES;
勾芒's avatar
勾芒 committed
292
    
勾芒's avatar
勾芒 committed
293 294 295 296 297 298 299 300 301 302
    void (^completionHandler)(UIPrintInteractionController *, BOOL, NSError *) = ^(UIPrintInteractionController *pic, BOOL completed, NSError *error) {
        if (completed)
        {
            // 执行成功后的处理
            success();
        }
        else if (!completed && error)
        {
            // 执行失败后的处理
            failed();
勾芒's avatar
勾芒 committed
303
        }
勾芒's avatar
勾芒 committed
304
    };
305
    
勾芒's avatar
勾芒 committed
306 307 308 309
    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {
        
        [pic presentAnimated:YES completionHandler:completionHandler];
    }
勾芒's avatar
勾芒 committed
310 311
}

勾芒's avatar
勾芒 committed
312 313 314 315 316 317 318 319 320 321 322 323 324
- (void)webViewDidStartLoad:(UIWebView *)webView
{
    [self CreateMBProgressHUDLoding];
}
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
    [self RemoveMBProgressHUDLoding];
}
- (void)webView:(UIWebView *)webView didFailLoadWithError:(nullable NSError *)error
{
    [self ErrorMBProgressView:@"打印失败"];
}

勾芒's avatar
勾芒 committed
325

勾芒's avatar
勾芒 committed
326
#pragma mark -提示文本,图片
勾芒's avatar
勾芒 committed
327
- (void)PromptinformationViewWithimage:(UIImage *)image withTitle:(NSString *)title withpoint:(CGPoint)point
勾芒's avatar
勾芒 committed
328
{
勾芒's avatar
勾芒 committed
329 330 331 332
    self.promptView.tipsImage.image = image;
    self.promptView.tipsTitle.text = title;
    self.promptView.frame = CGRectMake(point.x, point.y, 250, 170);
    [self.view addSubview:self.promptView];
勾芒's avatar
勾芒 committed
333
}
勾芒's avatar
勾芒 committed
334

335

勾芒's avatar
勾芒 committed
336 337 338 339 340 341
#pragma mark -删除提示文本、图片
- (void)RemovePromptinformationView
{
    [self.promptView removeFromSuperview];
    self.promptView = nil;
}
勾芒's avatar
勾芒 committed
342

勾芒's avatar
勾芒 committed
343 344 345
#pragma mark -传入订单状态,返回当前状态图片
+ (UIImage *)ReturnOrderStateImageWithStateCode:(NSInteger)ordercode
{
346
    const NSArray *imageArray = [NSArray arrayWithObjects:@"已撤销",@"已完成",@"已退货", nil];
勾芒's avatar
勾芒 committed
347
    switch (ordercode) {
勾芒's avatar
勾芒 committed
348
        case 4://退货
勾芒's avatar
勾芒 committed
349 350 351 352
        {
            return TCImage([imageArray objectAtIndex_opple:2]);
        }
            break;
勾芒's avatar
勾芒 committed
353
        case 5://作废
勾芒's avatar
勾芒 committed
354 355 356 357
        {
            return TCImage([imageArray objectAtIndex_opple:0]);
        }
            break;
勾芒's avatar
勾芒 committed
358
        case 6://完成
勾芒's avatar
勾芒 committed
359 360 361 362 363 364 365 366 367 368
        {
            return TCImage([imageArray objectAtIndex_opple:1]);
        }
            break;
            
        default:
            break;
    }
    return nil;
}
勾芒's avatar
勾芒 committed
369 370


勾芒's avatar
勾芒 committed
371 372 373
#pragma mark -传入订单状态,返回订单文本信息,字体颜色
+ (id)ReturnOrderStateTitleWithStateCode:(NSInteger)ordercode withPoint:(CGPoint)point WithCode:(NSInteger)code
{
374
    
勾芒's avatar
勾芒 committed
375 376 377 378 379 380
    switch (ordercode) {
        case 001://未付款
        {
            if (code) {
                return kTCColor(241, 81, 83);
            }
曹云霄's avatar
曹云霄 committed
381
            return @"待支付";
勾芒's avatar
勾芒 committed
382 383 384 385
        }
            break;
        case 002://已付款
        {
386
            
勾芒's avatar
勾芒 committed
387 388 389
            if (code) {
                return kTCColor(126, 191, 53);
            }
390
            return @"已支付";
勾芒's avatar
勾芒 committed
391 392 393 394
        }
            break;
        case 003://已发货
        {
395
            
勾芒's avatar
勾芒 committed
396 397 398 399 400 401 402 403
            if (code) {
                return kTCColor(240, 180, 51);
            }
            return @"已发货";
        }
            break;
        case 004://已退货
        {
404
            
勾芒's avatar
勾芒 committed
405 406 407 408 409 410 411 412
            if (code) {
                return kTCColor(153, 153, 153);
            }
            return @"已退货";
        }
            break;
        case 005://已作废
        {
413
            
勾芒's avatar
勾芒 committed
414 415 416
            if (code) {
                return kTCColor(153, 153, 153);
            }
勾芒's avatar
勾芒 committed
417
            return @"已撤销";
勾芒's avatar
勾芒 committed
418 419 420 421
        }
            break;
        case 006://已完成
        {
422
            
勾芒's avatar
勾芒 committed
423 424 425 426 427 428 429 430 431 432 433 434
            if (code) {
                return kTCColor(89, 172, 220);
            }
            return @"已完成";
        }
            break;
            
        default:
            break;
    }
    return nil;
}
勾芒's avatar
勾芒 committed
435

勾芒's avatar
勾芒 committed
436 437 438
#pragma mark -查询购物车数量
- (void)QueryShoppingCarNumber
{
439
    WS(weakSelf);
440
    [[NetworkRequestClassManager Manager] NetworkWithDictionaryRequestWithURL:[NSString stringWithFormat:@"%@%@",SERVERREQUESTURL(QUERYSHOPPINGBAGNUMBER),[Customermanager manager].model.fid] WithRequestType:1 WithParameter:nil WithReturnValueBlock:^(id returnValue) {
勾芒's avatar
勾芒 committed
441 442 443 444 445 446
        
        if ([returnValue[@"code"] isEqualToNumber:@0]) {
            NSLog(@"更新购物车数量成功");
            [[NSNotificationCenter defaultCenter]postNotificationName:REFRESHSHOPPINGCAR object:returnValue[@"data"]];
        }
    } WithErrorCodeBlock:^(id errorCodeValue) {
447 448 449
        [weakSelf RemoveMBProgressHUDLoding];
        [weakSelf ErrorMBProgressView:@"无网络"];
    } WithFailureBlock:^(NSError *error) {
勾芒's avatar
勾芒 committed
450
        NSLog(@"更新购物车数量失败");
451
        [weakSelf ErrorMBProgressView:error.localizedDescription];
勾芒's avatar
勾芒 committed
452 453 454
    }];
}

455 456 457 458 459
#pragma mark - 查询购物车商品
- (void)queryShoppingCarGoods
{
    [[NSNotificationCenter defaultCenter] postNotificationName:SHOPPINGCARGOODS object:nil];
}
勾芒's avatar
勾芒 committed
460

勾芒's avatar
勾芒 committed
461 462 463 464 465 466 467 468
#pragma mark -系统提示框
- (void)promptCustomerWithString:(NSString *)message
{
    UIAlertController *alertVC = [UIAlertController alertControllerWithTitle:@"提示" message:message preferredStyle:UIAlertControllerStyleAlert];
    [alertVC addAction:[UIAlertAction actionWithTitle:@"我知道了" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
        
        [self dismissViewControllerAnimated:YES completion:nil];
    }]];
曹云霄's avatar
曹云霄 committed
469 470 471
    dispatch_async(dispatch_get_main_queue(), ^{
        [self presentViewController:alertVC animated:YES completion:nil];
    });
勾芒's avatar
勾芒 committed
472 473
}

474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514
#pragma mark -友好化时间
+ (NSString *) compareCurrentTime:(NSString *)str
{
    
    //把字符串转为NSdate
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss.SSS"];
    NSDate *timeDate = [dateFormatter dateFromString:str];
    
    //得到与当前时间差
    NSTimeInterval  timeInterval = [timeDate timeIntervalSinceNow];
    timeInterval = -timeInterval;
    //标准时间和北京时间差8个小时
    timeInterval = timeInterval - 8*60*60;
    long temp = 0;
    NSString *result;
    if (timeInterval < 60) {
        result = [NSString stringWithFormat:@"刚刚"];
    }
    else if((temp = timeInterval/60) <60){
        result = [NSString stringWithFormat:@"%ld分钟前",temp];
    }
    
    else if((temp = temp/60) <24){
        result = [NSString stringWithFormat:@"%ld小时前",temp];
    }
    
    else if((temp = temp/24) <30){
        result = [NSString stringWithFormat:@"%ld天前",temp];
    }
    
    else if((temp = temp/30) <12){
        result = [NSString stringWithFormat:@"%ld月前",temp];
    }
    else{
        temp = temp/12;
        result = [NSString stringWithFormat:@"%ld年前",temp];
    }
    
    return  result;
}
勾芒's avatar
勾芒 committed
515

516 517 518 519 520 521 522
#pragma mark - 获取版本号
- (NSString*)getAppVersion
{
    NSString *ver = [[[NSBundle mainBundle] infoDictionary]
                     objectForKey:@"CFBundleShortVersionString"];
    return [NSString stringWithFormat:@"Version %@",ver];
}
勾芒's avatar
勾芒 committed
523

524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565
#pragma mark - 通过面额获取相应的图片
+ (UIImage *)getCorrespondingPictures:(NSInteger)total
{
    UIImage *image = nil;
    switch (total) {
        case 50:
        {
            image = TCImage(@"fifty");
        }
            break;
        case 100:
        {
            image = TCImage(@"onehundred");
        }
            break;
        case 200:
        {
            image = TCImage(@"twohundred");
        }
            break;
            
        default:
            break;
    }
    return image;
}

+ (BOOL)isBlankString:(NSString *)string
{
    if (string == nil || string == NULL) {
        return YES;
    }
    if ([string isKindOfClass:[NSNull class]]) {
        return YES;
    }
    if ([[string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] length]==0) {
        return YES;
    }
    return NO;
}


566 567
- (void)dealloc
{
568
    NSLog(@"释放%@控制器",self);
569 570
}

勾芒's avatar
勾芒 committed
571

勾芒's avatar
勾芒 committed
572 573 574



曹云霄's avatar
曹云霄 committed
575
@end