// // SearchViewController.m // Lighting // // Created by 曹云霄 on 16/5/16. // Copyright © 2016年 上海勾芒科技有限公司. All rights reserved. // #import "SearchViewController.h" #import "SearchCollectionViewCell.h" #import "HotCollectionViewCell.h" @interface SearchViewController ()<UICollectionViewDelegate,UICollectionViewDataSource> /** * 数据源 */ @property (nonatomic,strong) HotTagResponse *response; /** * 本地搜索历史 */ @property (nonatomic,strong) NSMutableArray *localSearchArray; @end @implementation SearchViewController /** * 本地搜索历史初始化 */ - (NSMutableArray *)localSearchArray { if (_localSearchArray == nil) { _localSearchArray = [NSMutableArray array]; } return _localSearchArray; } - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. [self uiConfigAction]; [self getHotSearchdatas]; } #pragma mark -布局 - (void)uiConfigAction { self.hotCollectionviewLayout.itemSize = CGSizeMake(120, 44); self.hotCollectionviewLayout.minimumLineSpacing = 10; self.hotCollectionviewLayout.minimumInteritemSpacing = 10; self.hotCollectionviewLayout.sectionInset = UIEdgeInsetsMake(10, 10, 10, 10); self.historyLayout.itemSize = CGSizeMake(120, 44); self.historyLayout.minimumLineSpacing = 10; self.historyLayout.minimumInteritemSpacing = 10; self.historyLayout.sectionInset = UIEdgeInsetsMake(10, 10, 10, 10); self.historyCollectionView.delegate = self; self.historyCollectionView.dataSource = self; self.hotCollectionView.dataSource = self; self.hotCollectionView.delegate = self; self.hotCollectionView.backgroundColor = [UIColor redColor]; self.historyCollectionView.backgroundColor = [UIColor greenColor]; } #pragma mark -获取本地存储搜索历史 - (void)getlocalsaveDatas { NSString *homeDictionary = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex: 0]; NSString *homepath = [homeDictionary stringByAppendingPathComponent:@"LOCALSAVE"];//添加储存的文件名 self.localSearchArray = [NSKeyedUnarchiver unarchiveObjectWithFile:homepath]; } #pragma mark -归档搜索历史 - (void)SaveSearchDatas { NSString *homeDictionary = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex: 0]; NSString *homepath = [homeDictionary stringByAppendingPathComponent:@"LOCALSAVE"];//添加储存的文件名 BOOL flag = [NSKeyedArchiver archiveRootObject:self.localSearchArray toFile:homepath];//归档一个字符串 } #pragma mark -获取热门搜索数据 - (void)getHotSearchdatas { [self CreateMBProgressHUDLoding]; [[NetworkRequestClassManager Manager] NetworkWithDictionaryRequestWithURL:[NSString stringWithFormat:@"%@%@",ServerAddress,@"/hottag/getHotTag"] WithRequestType:1 WithParameter:nil WithReturnValueBlock:^(id returnValue) { [self RemoveMBProgressHUDLoding]; if ([returnValue[@"code"] isEqualToNumber:@0]) { self.response = [[HotTagResponse alloc]initWithDictionary:returnValue[@"data"] error:nil]; [self.hotCollectionView reloadData]; }else { [self ErrorMBProgressView:returnValue[@"message"]]; } } WithErrorCodeBlock:^(id errorCodeValue) { } WithFailureBlock:^(id error) { [self RemoveMBProgressHUDLoding]; }]; } - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { if ([collectionView isEqual:self.historyCollectionView]) { SearchCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"firstcell" forIndexPath:indexPath]; return cell; } if ([collectionView isEqual:self.hotCollectionView]) { HotCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"secondcell" forIndexPath:indexPath]; cell.responseDatas = [self.response.list objectAtIndex_opple:indexPath.item]; return cell; } return nil; } - (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section { if ([collectionView isEqual:self.hotCollectionView]) { return self.response.list.count; } return 20; } #pragma mark -释放 - (void)dealloc { [[NSNotificationCenter defaultCenter]removeObserver:self]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } /* #pragma mark - Navigation // In a storyboard-based application, you will often want to do a little preparation before navigation - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { // Get the new view controller using [segue destinationViewController]. // Pass the selected object to the new view controller. } */ @end