【读书笔记】iOS-简单的数据驱动程序

一,效果图。

二,。project文件例如以下图所看到的:

三,DataModel.h

#import <Foundation/Foundation.h>

@interface DataModel : NSObject

{

NSArray *myData;

}

-(NSString *)getNameAtIndex:(int)index;

-(int)getRowCount;

@end

DataModel.m

//数据库文件

#import "DataModel.h"

@implementation DataModel

-(id)init

{

if (self=[super init]) {

myData=[[NSArray alloc]initWithObjects:@"first",@"second",@"three",@"four", nil];

}

return self;

}

//显示数组中数据

-(NSString *)getNameAtIndex:(int)index

{

return (NSString *)[myData objectAtIndex:index];

}

//显示行数

-(int)getRowCount

{

return (int)[myData count];

}

@end

四。ViewController.h

#import <UIKit/UIKit.h>

#import "DataModel.h"

@interface ViewController : UIViewController

<UITableViewDataSource,UITableViewDelegate>

{

UITableView *myTableView;

DataModel *model;

}

@end

ViewController.m

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {

[super viewDidLoad];

// Do any additional setup after loading the view, typically from a nib.

//初始化数据

[self initData];

//初始化界面

[self addBackgroundView];

}

#pragma -mark -functions

//初始化数据

-(void)initData

{

model=[[DataModel alloc]init];

}

//初始化界面

-(void)addBackgroundView

{

myTableView=[[UITableView alloc]initWithFrame:CGRectMake(0, 100, 320, 300)];

myTableView.dataSource=self;

myTableView.delegate=self;

[self.view addSubview:myTableView];

}

#pragma -mark -UITableViewDelegate

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

{

return [model getRowCount];

}

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

{

return 40;

}

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

{

static NSString *[email protected]"Cell";

UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:CellIdentifier];

if (cell==nil) {

cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];

}

cell.textLabel.text=[NSString stringWithFormat:@"%@",[model getNameAtIndex:(int)indexPath.row]];

return cell;

}

- (void)didReceiveMemoryWarning {

[super didReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

}

@end

參考资料:《iOS数据库应用高级编程(第2版)》

时间: 2024-10-24 06:17:47

【读书笔记】iOS-简单的数据驱动程序的相关文章

《Spring实战》读书笔记--SpringMVC处理Multipart数据

<Spring实战>读书笔记--SpringMVC处理Multipart数据 1.Multipart介绍 1.1 Multipart形式的数据 Multipart格式数据会将一个表单拆分为多个部分(part),每个部分对应一个输入域.在一般的表单输入域中,它对应的部分会放置文本型数据,如果是文件上传形式,它对应的部分可以是二进制. 1.2 Multipart/form-data请求方式 Multipart/form-data是建立在HTTP的POST请求方式以上的请求,其一般用于HTTP文件上

大话设计模式读书笔记1——简单工厂模式

最近几日,重温了一下<大话设计模式>这本书,当时读的仓促,有很多没有注意的地方,现在仔细翻看起来,发现这值得细细品味的一本书!! 好东西就要记下来!!! 第一章笔记:从一个简单的计算器程序来看简单工厂模式. 变化的地方就要封装,用一个单独的类来做创造实例的过程这就是工厂. UML图: /// <summary> /// 运算类 /// </summary> public class Operation { public double Number1 { get; set

读书笔记——IOS之Web开发

Web开发 读书笔记:http://www.mincoder.com/article/2576.shtml 主要的请求方法 Get请求:数据以明文在URL中,数据量小 Post请求:数据大小没有限制 HEAD请求:请求头信息 程序的实现需要借助几个对象: NSURLRequest:建立了一个请求,可以指定缓存策略.超时时间.和NSURLRequest对应的还有一个NSMutableURLRequest,如果请求定义为NSMutableURLRequest则可以指定请求方法(GET或POST)等信

Entity Framework 4 in Action读书笔记——第一章:数据访问重载:Entity Fram

小分享:我有几张阿里云优惠券,用券购买或者升级阿里云相应产品最多可以优惠五折!领券地址:https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=ohmepe03 写在之前的话 在深入研究实体框架的细节之前,我们先讨论从传统的DataSet方法转换到基于对象的方法实现数据访问所带来的便利,以及这两种方法不同的工作方式是怎样导致采用像Entity Framework这样的O/RM工具. 使用Dataset和

[读书笔记]iOS与OS X多线程和内存管理 [Blocks部分-3]

2.3.2 截获自动变量 通过转换后的源码可以发现,Block语法中使用的自动变量被作为成员变量追加到__main_block_impl_0结构体中,Block中没有使用的自动变量不会被追加,所以Block的变量截获只针对Block使用的自动变量. 源码: #include <stdio.h>//不导入库文件无法运行 int main() { int val1=0; int val2=10; void(^testBlock)(void)=^{ printf("i am testBlo

《SQL Server企业级平台管理实践》读书笔记——SQL Server中数据文件空间使用与管理

1.表和索引存储结构 在SQL Server2005以前,一个表格是以一个B树或者一个堆(heap)存放的.每个B树或者堆,在sysindexes里面都有一条记录相对应.SQL Server2005以后,引入了分区表的概念(Table Partition),在存储组织上,现有的分区基本上替代了原来表格的概念,原先表的概念成为了一个逻辑概念.一个分区就是一个B树或者一个堆.而一张表格则是一个到多个分区的组合. 1.1用B树存储于聚集索引的表数据页 如果一个表格上有聚集索引(Clustered In

[读书笔记]iOS 7 UI设计 对比度

好久没写随笔了,最近在读<iOS 7 byTutorials>,很不错,推荐给大家. 每一个好的程序员也都是一个设计师,不懂设计的程序员不是好的CTO.哈哈,开个小玩笑. iOS 7设计的核心思想就是:-------->简洁.但在简洁的UI里面如何让用户发现当前界面的重点,对比度是我们最有力的工具. 对比度有下列四种用途 1.突出重点,淡化非重点 2.加强视觉效果 3.告诉用户哪里可以点击 4.增强文字可读性 举例说明,如图 这是一个简单的闹钟程序,先别着急往下看,先思考一下,这个界面在

《利用python进行数据分析》读书笔记--第七章 数据规整化:清理、转换、合并、重塑(二)

3.数据转换 介绍完数据的重排之后,下面介绍数据的过滤.清理.以及其他转换工作. 去重 #-*- encoding: utf-8 -*- import numpy as np import pandas as pd import matplotlib.pyplot as plt from pandas import Series,DataFrame #DataFrame去重 data = DataFrame({'k1':['one']*3 + ['two'] * 4, 'k2':[1,1,2,3

读书笔记6pandas简单实用

一.序列Series,很像numpy中的array数组,可以由列表.元组.字典.numpy中的array来初始化 >>> from pandas import Series >>> s = Series([0.1, 1.2, 2.3, 3.4, 4.5]) >>> s 0 0.1 1 1.2 2 2.3 3 3.4 4 4.5 dtype: float64 2.序列也可以由标签组成,默认是由数字表示. >>> s = Series([

[读书笔记]iOS与OS X多线程和内存管理 [Blocks部分-2]

2.3 Blocks的实现 2.3.1 Block的实质 通过命令"clang -rewrite-objc 文件名"能够将含有Block语法的源代码转换为C++源代码. 含有Block的源代码如下: #include <stdio.h>//不导入库文件无法运行 int main() { void(^testBlock)(void)=^{ printf("i am testBlock"); }; testBlock(); } 转换后的代码有五百行左右,这里