SearchGroupViewController.m
3.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
//
// SearchGroupViewController.m
// LifeLog
//
// Created by nvtu on 8/11/17.
// Copyright © 2017 PhongNV. All rights reserved.
//
#import "SearchGroupViewController.h"
#import <SDWebImage/UIImageView+WebCache.h>
#import "ServerAPI.h"
#import "Utilities.h"
#import "SearchGroupTableViewCell.h"
#import "GroupDetailViewController.h"
@interface SearchGroupViewController ()
@end
@implementation SearchGroupViewController
- (void)viewDidLoad {
[super viewDidLoad];
[self callRequestToUpdateData];
//register nib for table view
[self.tableBase registerNib:[UINib nibWithNibName:@"SearchGroupTableViewCell" bundle:nil] forCellReuseIdentifier:@"SearchGroupCell"];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
#pragma mark IBAction
- (IBAction)clickBack:(id)sender {
[self.navigationController popViewControllerAnimated:true];
}
- (IBAction)clickSearch:(id)sender {
[self resetData];
}
- (IBAction)clickCreateGroup:(id)sender {
}
#pragma mark UITableView Delegate
- (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
SearchGroupTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:@"SearchGroupCell"];
GroupObject *object = [_curDataList objectAtIndex:indexPath.row];
if(object.avatar && ![object.avatar isKindOfClass:[NSNull class]]) {
[cell.imgAvatar sd_setImageWithURL:[NSURL URLWithString:[Utilities getImageLink:object.avatar]]];
}
else {
[cell.imgAvatar setImage:[UIImage imageNamed:@"avatar_default"]];
}
cell.lblName.text = object.name;
return cell;
}
-(void) scrollViewDidScroll:(UIScrollView *)scrollView {
[self.view endEditing:true];
}
-(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
GroupDetailViewController * detail = [[GroupDetailViewController alloc] init];
[detail setGroup:[_curDataList objectAtIndex:indexPath.row]];
[self.navigationController pushViewController:detail animated:true];
}
#pragma mark UITextField Delegate
-(BOOL) textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
[self resetData];
return true;
}
#pragma mark Private Function
-(void) callRequestToUpdateData {
[super callRequestToUpdateData];
NSString * token = [[NSUserDefaults standardUserDefaults] stringForKey:kToken];
MBProgressHUD *hudView = nil;
if(_curPage == 1 && !self.refreshControl.isRefreshing) {
hudView = [MBProgressHUD showHUDAddedTo:self.view animated:true];
}
[[ServerAPI server] searchGroup:token withKey:self.textFieldSearch.text andPage:_curPage CompletionHandler:^(NSArray *array, NSError *error) {
dispatch_async(dispatch_get_main_queue(), ^{
if(hudView != nil) {
[hudView hideAnimated:true];
}
});
SearchGroupViewController __weak *weakSelf = self;
[weakSelf updateTableData:array error:error];
}];
}
@end