UITableView, 用封装类的方法给cell赋值

#import "RootViewController.h"

#import "Person.h"

@interface RootViewController ()<UITableViewDataSource>

@property (nonatomic, retain)NSMutableArray *array;

@end

@implementation RootViewController

- (void)dealloc

{

[_array release];

[super dealloc];

}

- (void)viewDidLoad {

[super viewDidLoad];

self.view.backgroundColor = [UIColor cyanColor];

//创建导航控制器, 需要一个视图控制器, 所以要先创建一个视图控制器, 这样导航控制器就会管理这个试图控制器

//让导航控制器成为appdelegate的根视图控制器

//UITableView 的移动 和 编辑

UITableView *tableView = [[UITableView alloc] initWithFrame:self.view.bounds style:(UITableViewStylePlain)];

tableView.rowHeight = 100;//行高, 默认值是44

tableView.backgroundColor = [UIColor yellowColor];

tableView.dataSource = self;//指定代理, 让代理来提供数据

[self.view addSubview:tableView];

[tableView release];

[self creatData];//把一部分代码转移到, 一个方法中

}

- (void)creatData {

Person *p1 = [Person personWithName:@"阿呆" number:@"123"];

Person *p2 = [Person personWithName:@"阿狸" number:@"456"];

Person *p3 = [Person personWithName:@"蹦蹦" number:@"789"];

Person *p4 = [Person personWithName:@"跳跳" number:@"423"];

self.array = [NSMutableArray arrayWithObjects:p1, p2, p3, p4, nil];

}

- (void)didReceiveMemoryWarning {

[super didReceiveMemoryWarning];//收到内存警告, 被动触发

}

#pragma mark - UITableViewDataSource

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {//设置行数

return self.array.count;

}

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

//创建cell

//1.设置标识符,找cell

static NSString *str = @"cell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:str];//在重用池中找cell

if (cell == nil) {

cell = [[[UITableViewCell alloc] initWithStyle:(UITableViewCellStyleValue1) reuseIdentifier:str] autorelease];//直接release不合适, 所以用autorelease

}

//给cell赋值

//    cell.textLabel.text = @"name";

//    cell.detailTextLabel.text = @"phone";

Person *person = [self.array objectAtIndex:indexPath.row];

cell.textLabel.text = person.name;

cell.detailTextLabel.text = person.number;

return cell;

}

@end

时间: 2024-12-25 14:28:21

UITableView, 用封装类的方法给cell赋值的相关文章

抽取UITableView的DataSource代理方法及同一份View能接受不同模型数据

View controllers 通常是 iOS 项目中最大的文件,并且它们包含了许多不必要的代码.所以 View controllers 中的代码几乎总是复用率最低的.比如UITableView常规用法如下: 传统使用方法 1. 定义数据模型 @interface LFPhoto : NSObject @property (nonatomic,copy) NSString *name; @property (nonatomic,copy) NSString *title; @end 2. 设计

iOS之UITableView带滑动操作菜单的Cell

制作一个可以滑动操作的 Table View Cell 本文翻译自 http://www.raywenderlich.com/62435/make-swipeable-table-view-cell-actions-without-going-nuts-scroll-views 原作者:Ellen Shapiro Apple 通过 iOS 7 的邮件(Mail)应用介绍了一种新的用户界面方案——向左滑动以显示一个有着多个操作的菜单.本教程将会向你展示如何制作一个这样的 Table View Ce

IOS之UITableView——如何刷新父页面的Cell

问题:评论数同步 在社交相关的项目中经常有这样的主页面,主列表的Cell中有赞数,评论数,详情页顶部也是同样的一个Cell,下部有评论列表,评论增加或减少,详情页的评论数随之改变,返回主列表,主列表的对应的Cell中评论数却没改变.怎么同步呢. 解决方案:详情页的Cell刷新时,发送通知,主列表监听通知,通知的回调方法只要执行tableview reloaddata即可 IOS之UITableView--如何刷新父页面的Cell

UITableView错误 ‘unable to dequeue a cell with identifier Cell&#39;

- (id)dequeueReusableCellWithIdentifier:(NSString *)identifier; - (id)dequeueReusableCellWithIdentifier:(NSString *)identifier forIndexPath:(NSIndexPath *)indexPath NS_AVAILABLE_IOS(6_0); // newer 1 第二个方法在SDK5.0是运行不起来的.2 如果需要使用这个方法,你必须使用配套的方法来一起用,下面两

UITableVIew与UICollectionView带动画删除cell时崩溃的处理

-会崩溃的原因是因为没有处理好数据源与cell之间的协调关系- 效果: tableView的源码: ModelCell.h + ModelCell.m // // ModelCell.h // Set // // Created by YouXianMing on 14/11/24. // Copyright (c) 2014年 YouXianMing. All rights reserved. // #import <UIKit/UIKit.h> @class ModelCell; @pro

多态 模拟 移动硬盘 插入电脑 读写,方法1传参,方法2属性赋值

//多态 模拟 移动硬盘 插入电脑 读写,方法1传参,方法2属性赋值 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { //多态 模拟 移动硬盘 插入电脑

iOS开发UItableview的常用属性方法的使用

有些属性和方法始终是记不清,只能记下来,方便查找 如果对你有帮助请支持,没有帮助请告诉我哪里需要改进!谢谢! //  ViewController.m //  TableViewAll #import "ViewController.h" @interface ViewController ()<UITableViewDelegate, UITableViewDataSource> @end @implementation ViewController - (void)vi

让UITableView的headerView或footerView跟随cell一起滚动

以headerView为例(footerView处理方式类似),以下四种方式均有独到之处: 1.无分区 最简单也最常见.将headerView设置为整个tableView的headerView,而不是 section 0 的headerView self.tableView.tableHeaderView = headerView. 2.多个section 设置 tableView 的 style 为 UITableViewStyleGrouped,然后 <span style="font

iOS tableViewCell 在cell赋值、网络加载照片位置偏移大小错乱,做一个类似qq列表的tableview

需求: 类似QQ列表的头像加载刷新,判断在线离线状态改变头像,以及彩色头像灰色处理,下载图片+获取在线状态需要连网--再改变头像 问题:由于cell的复用以及下拉刷新数据每次加载10条数据,会出现头像赋值不正确,位置偏移大小不同的变化 原因:由于cell的重复调用,加载数据方法已经赋值方法也在重复的调用,所以头像加载 在线状态判断好后,网络延迟, (个人开始yy:启动时的cell和赋值结束的cell可能不是同一个) 修改:当cell开始调用的时候,给当前的cell赋tag值,加载结束判断是不是自