//
//ViewController.m//0429//
//Created by apple on 15/4/29.//Copyright (c) 2015年 gense. All rights reserved.//
#import "ViewController.h"
#import "ProductCategory.h"
@interface ViewController (){
NSMutableArray*productCategoryList ;
}@end
@implementationViewController- (void)viewDidLoad {
[super viewDidLoad];//从配置文件中初始化商品类型信息
[self initProudctCategory];
}#pragma mark 从配置文件中初始化商品类型信息
- (void) initProudctCategory
{//读取参数文件
NSString * paramPath = [[NSBundle mainBundle] pathForResource:@"shops.plist"ofType:nil];
NSArray* dataArr =[NSArray arrayWithContentsOfFile:paramPath];
productCategoryList= [NSMutableArray arrayWithCapacity:10];//遍历plist文件
[dataArr enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
[productCategoryList addObject: [ProductCategory productCategoryWithName:obj[@"name"] andDesc:obj[@"desc"] icon:obj[@"icon"]]];
}];
}#pragma mark tableviewDeleage 总共有多少行记录
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{return[productCategoryList count];
}#pragma mark 实例化每行cell
- (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString* cellIdentified = @"productCategoryTableViewCell";//从缓存中加载可用的cell
UITableViewCell * cell =[tableView dequeueReusableCellWithIdentifier:cellIdentified];if(cell == nil) //从缓存在未拿到合适的cell
{
cell=[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellIdentified];
}//设置cell中的属性
cell.textLabel.text =[productCategoryList[indexPath.row] name];
cell.detailTextLabel.text=[productCategoryList[indexPath.row] desc];
cell.imageView.image=[UIImage imageNamed:[productCategoryList[indexPath.row] icon]];if([productCategoryList[indexPath.row] isSelected])
{
[cell setAccessoryType:UITableViewCellAccessoryCheckmark];
}else{
[cell setAccessoryType:UITableViewCellAccessoryNone];
}returncell;
}#pragma mark 设置tableview每行的高度
- (CGFloat) tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{return 50.0;
}- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[productCategoryList[indexPath.row] setIsSelected:![productCategoryList[indexPath.row] isSelected ]];
[tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];
}#pragma mark 滑动删除
- (void) tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{if(UITableViewCellEditingStyleDelete ==editingStyle)
{
[productCategoryList removeObjectAtIndex:indexPath.row];//[_productCategoryTV reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationTop];
[_productCategoryTV deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationTop];
}
}#pragma mark 拖动排序
-(void) tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)sourceIndexPath toIndexPath:(NSIndexPath *)destinationIndexPath
{
ProductCategory* p =productCategoryList[sourceIndexPath.row];
[productCategoryList removeObject:p];
[productCategoryList insertObject:p atIndex:destinationIndexPath.row];
}#pragma mark 删除选中的数据
- (IBAction)trashItemClick:(id)sender
{//NSMutableArray * deleteArr = [NSMutableArray arrayWithCapacity:10];//NSMutableArray * indexPathArr = [NSMutableArray arrayWithCapacity:10 ];//
//[productCategoryList enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {//if([obj isSelected])//{//[deleteArr addObject:obj];//[indexPathArr addObject:[NSIndexPath indexPathForItem:idx inSection:0]];//}//}];//
//[productCategoryList removeObjectsInArray:deleteArr];//
// //tableview reload//[_productCategoryTV deleteRowsAtIndexPaths:indexPathArr withRowAnimation:UITableViewRowAnimationMiddle];
_productCategoryTV.editing = !_productCategoryTV.isEditing;
}@end