37.小项目:英雄列表 版本2.0

------------- ViewController.m -------------

#import "ViewController.h"

#import "CZHero.h"

@interface ViewController () <UITableViewDataSource, UITableViewDelegate, UIAlertViewDelegate>

@property (nonatomic,strong) NSArray *heros;

@property (weak, nonatomic) IBOutlet UITableView *tableView;

@end

@implementation ViewController

- (void)viewDidLoad

{

[super viewDidLoad];

}

- (BOOL)prefersStatusBarHidden

{

return YES;

}

- (NSArray *)heros

{

if (_heros == nil)

{

NSString *path = [[NSBundle mainBundle] pathForResource:@"heros.plist" ofType:nil];

NSArray *dictArray = [NSArray arrayWithContentsOfFile:path];

NSMutableArray *tmpArray = [NSMutableArray array];

for (NSDictionary *dict in dictArray)

{

CZHero *hero = [CZHero heroWithDict:dict];

[tmpArray addObject:hero];

}

_heros = tmpArray;

}

return _heros;

}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

{

return self.heros.count;

}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

{

static NSString *ID = @"hero";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ID];

if (cell == nil)

{

cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:ID];

}

CZHero *hero = self.heros[indexPath.row];

cell.textLabel.text = hero.name;

cell.detailTextLabel.text = hero.intro;

cell.imageView.image = [UIImage imageNamed:hero.icon];

return cell;

}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

{

CZHero *hero = self.heros[indexPath.row];

NSString *name = hero.name;

UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"要修改的英雄名称" message:nil delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];

alertView.alertViewStyle = UIAlertViewStylePlainTextInput;

UITextField *textF = [alertView textFieldAtIndex:0];

textF.text = name;

[alertView show];

alertView.tag = indexPath.row;

}

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex

{

if (buttonIndex == 0) return;

NSString *newName = [alertView textFieldAtIndex:0].text;

NSUInteger row = alertView.tag;

CZHero *hero = self.heros[row];

hero.name = newName;

NSIndexPath *indexpath = [NSIndexPath indexPathForRow:row inSection:0];

[self.tableView reloadRowsAtIndexPaths:@[indexpath] withRowAnimation:UITableViewRowAnimationMiddle];

}

@end

------------- CGHero.h -------------

#import <Foundation/Foundation.h>

@interface CZHero : NSObject

@property (nonatomic,copy) NSString *icon;

@property (nonatomic,copy) NSString *intro;

@property (nonatomic,copy) NSString *name;

- (instancetype)initWithDict:(NSDictionary *)dict;

+ (instancetype)heroWithDict:(NSDictionary *)dict;

@end

------------- CGHero.m -------------

#import "CZHero.h"

@implementation CZHero

- (instancetype)initWithDict:(NSDictionary *)dict

{

if (self = [super init]) {

[self setValuesForKeysWithDictionary:dict];

}

return self;

}

+ (instancetype)heroWithDict:(NSDictionary *)dict

{

return [[self alloc] initWithDict:dict];

}

@end

时间: 2024-10-05 23:54:21

37.小项目:英雄列表 版本2.0的相关文章

36.小项目:英雄列表 版本1.0

------------- ViewController.m ------------- #import "ViewController.h" #import "CZHero.h" @interface ViewController () <UITableViewDataSource, UITableViewDelegate> @property (nonatomic,strong) NSArray *heros; @property (weak, no

32.小项目:喜马拉雅 版本3.0

更新说明:图片轮播器拖拽图片时暂停轮播. ------------- ViewController.m ------------- #import "ViewController.h" #define IMAGE_COUNT 5 @interface ViewController () <UIScrollViewDelegate> @property (weak, nonatomic) IBOutlet UIScrollView *scrView; @property (n

31.小项目:喜马拉雅 版本2.0

@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); 更新说明:添加图片轮播器 --

30.小项目:喜马拉雅 版本1.0

------------- ViewController.m ------------- #import "ViewController.h" @interface ViewController () @property (weak, nonatomic) IBOutlet UIScrollView *scrView; @property (nonatomic,strong) NSArray *arrs; @end @implementation ViewController - (N

33.小项目:汽车列表 版本1.0

------------- ViewController.m ------------- #import "ViewController.h" @interface ViewController () <UITableViewDataSource> @property (weak, nonatomic) IBOutlet UITableView *tableView; @end @implementation ViewController - (void)viewDidLo

34.小项目:汽车列表 版本2.0

@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); 更新说明:增加多组数据展示 ------------- ViewController.m ------------- #import "ViewController.h" #import "CZCarGroup.h" @inter

35.小项目:汽车列表 版本3.0

@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); 更新说明:使用plist数据,隐藏电池状态栏等 ------------- ViewController.m ------------- #import "ViewController.h" #import "CZCarGroup.h&qu

react工程化项目搭建主流技术 umi3.0(或者&lt;3.0版本)+ dva + antd构建项目流程

umi+ dva + antd构建react工程项目(组件化开发搭建项目)1.官方网站安装node.js(并确保 node 版本是 10.13 或以上)2.先确保安装成功npm或者yarn3.npm i yarn tyarn -g (国内源)4.如果你没有 npx,需要先安装它,用于执行 node_modules 下的命令 yarn global add npx5.开始构建项目先区分版本: umi 3.0后也就是目前最新版本 mkdir myapp && cd myapp (新建建个项目目

轮播特效小项目总结

首先谈谈关于还原设计稿学到的一些东西,比如说网页设计稿和交互效果做好了,拿给我们在网页上实现,那如何实现呢,我就说说自己的鄙见吧. 第一,思考整个设计图的层次,比如说分别由哪些部分构成,针对这些"块",怎么设计div的结构,怎么把静态页面有条理的编写出来. 第二,思考如何实现设计图的交互效果,在逻辑上分析,比如用JS绑定哪些事件,采用什么样的函数实现怎么样的效果等等. 第三,代码的优化性考虑,怎么让代码简洁明了,方便维护. 以上就是我现在阶段对页面还原的一些看法,也许比较浅显,我也希望