短时间内不停访问一组数据,每次只取出一个时,需用懒加载

-(void)button{

NSArray *arrbutton=[LBZModelDataAll dataArrayFromModel:poet_list];

//    NSLog(@"%@",arrbutton);

NSLog(@"%lu",(unsigned long)arrbutton.count);

for (int i=0; i<arrbutton.count; i++) {

NSLog(@"%@",[LBZModelDataAll dataDetailFromModel:poet_list andDataNum:i andNSString:poet_id]);

/////////////////////////        /////////////////////////

//自动生成button

UIButton *button=[[UIButton alloc]initWithFrame:CGRectMake(110*(i%5)+30,150*(int)(i/5), 80, 138)];

button.tag=i;

UIImageView *figurephoto=[[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 80, 138)];

if (/* DISABLES CODE */ (0)) {

figurephoto.image=[UIImage imageNamed:@"3.jpg"];

}

else{

figurephoto.image=[UIImage imageNamed:@"card_back_new1.png"];

}

[button addSubview:figurephoto];

//诗人名字标签

UILabel *poetnameLable=[[UILabel alloc]initWithFrame:CGRectMake(0, 115, 80, 8)];

poetnameLable.text=[LBZModelDataAll dataDetailFromModel:poet_list andDataNum:i andNSString:name_poet_list];

poetnameLable.font=[UIFont systemFontOfSize:12];

poetnameLable.textAlignment=NSTextAlignmentCenter;

[button addSubview:poetnameLable];

UILabel *figureLable=[[UILabel alloc]initWithFrame:CGRectMake(20, 128, 60, 10)];

//设置标签文字

figureLable.text=[NSString stringWithFormat:@"0/%@",[LBZModelDataAll dataDetailFromModel:poet_list andDataNum:i andNSString:poet_id]];

figureLable.font=[UIFont systemFontOfSize:12];

figureLable.textAlignment=NSTextAlignmentCenter;

[button addSubview:figureLable];

[ZYFachievementscrollView addSubview:button];

ZYFachievementscrollView.contentSize=CGSizeMake(568, 150*(int)(i/5)+150);//有效显示区域

[button addTarget:self action:@selector(showPoetIntroduce:) forControlEvents:UIControlEventTouchUpInside];

}

}

-(void)showPoetIntroduce:(UIButton *)sender{

NSLog(@"人物小传");

//    NSArray *arrbutton=[LBZModelDataAll dataArrayFromModel:poet_list];

int a=(int)sender.tag;

//    self.view.alpha=0.4;//有问题(上面的view同明度也变化)

//新视图

PoetIntroduceview=[[UIView alloc]initWithFrame:CGRectMake(30, 50, 520, 220)];

//添加背景

PoetIntroduceview.backgroundColor=[UIColor colorWithPatternImage:[UIImage imageNamed:@"poet_extra_info_bg.png"]];

//左边

UIView *leftView=[[UIView alloc]initWithFrame:CGRectMake(0, 0, 320, 220)];

UIImageView *imageview=[[UIImageView alloc]initWithFrame:CGRectMake(18, 50, 140, 120)];

imageview.image=[UIImage imageNamed:@"people_0001.png"];/////////诗人图像接口

[leftView addSubview:imageview];

UILabel *aLable=[[UILabel alloc]initWithFrame:CGRectMake(160, 40, 160, 20)];

aLable.text=[LBZModelDataAll dataDetailFromModel:poet_list andDataNum:a andNSString:name_poet_list];

aLable.font=[UIFont systemFontOfSize:15];

aLable.textAlignment=NSTextAlignmentCenter;

[leftView addSubview:aLable];

UILabel *bLable=[[UILabel alloc]initWithFrame:CGRectMake(160, 60, 160, 20)];

bLable.text=[LBZModelDataAll dataDetailFromModel:poet_list andDataNum:a andNSString:birth2death];

bLable.font=[UIFont systemFontOfSize:10];

bLable.textAlignment=NSTextAlignmentCenter;

[leftView addSubview:bLable];

UILabel *cLable=[[UILabel alloc]initWithFrame:CGRectMake(160, 80, 20, 15)];

[email protected]"字:";

cLable.textColor=[UIColor redColor];

cLable.font=[UIFont systemFontOfSize:12];

cLable.textAlignment=NSTextAlignmentLeft;

[leftView addSubview:cLable];

UILabel *c1Lable=[[UILabel alloc]initWithFrame:CGRectMake(180, 80, 140, 15)];

c1Lable.text=[LBZModelDataAll dataDetailFromModel:poet_list andDataNum:a andNSString:extra];

c1Lable.font=[UIFont systemFontOfSize:12];

c1Lable.textAlignment=NSTextAlignmentLeft;

[leftView addSubview:c1Lable];

UILabel *dLable=[[UILabel alloc]initWithFrame:CGRectMake(160, 95, 20, 15)];

[email protected]"号:";

dLable.textColor=[UIColor redColor];

dLable.font=[UIFont systemFontOfSize:12];

dLable.textAlignment=NSTextAlignmentLeft;

[leftView addSubview:dLable];

UILabel *d1Lable=[[UILabel alloc]initWithFrame:CGRectMake(180, 95, 140, 15)];

d1Lable.text=[LBZModelDataAll dataDetailFromModel:poet_list andDataNum:a andNSString:call];

d1Lable.font=[UIFont systemFontOfSize:12];

d1Lable.textAlignment=NSTextAlignmentLeft;

[leftView addSubview:d1Lable];

UILabel *eLable=[[UILabel alloc]initWithFrame:CGRectMake(160, 110, 30, 15)];

[email protected]"世称:";

eLable.textColor=[UIColor redColor];

eLable.font=[UIFont systemFontOfSize:12];

eLable.textAlignment=NSTextAlignmentLeft;

[leftView addSubview:eLable];

UILabel *e1Lable=[[UILabel alloc]initWithFrame:CGRectMake(190, 110, 130, 15)];

e1Lable.text=[LBZModelDataAll dataDetailFromModel:poet_list andDataNum:a andNSString:nickname];

e1Lable.font=[UIFont systemFontOfSize:12];

e1Lable.textAlignment=NSTextAlignmentLeft;

[leftView addSubview:e1Lable];

UILabel *fLable=[[UILabel alloc]initWithFrame:CGRectMake(160, 125, 160, 15)];

[email protected]"世称来历:";

fLable.textColor=[UIColor redColor];

[leftView addSubview:fLable];

fLable.font=[UIFont systemFontOfSize:12];

fLable.textAlignment=NSTextAlignmentLeft;

UITextView *f1textview=[[UITextView alloc]initWithFrame:CGRectMake(160, 140, 160,60)];

f1textview.backgroundColor=[UIColor colorWithRed:1 green:1 blue:1 alpha:0];

f1textview.text=[LBZModelDataAll dataDetailFromModel:poet_list andDataNum:a andNSString:nick_desc];

f1textview.allowsEditingTextAttributes=NO;////////////设置不可编辑不能用这个,得用下面的一个

f1textview.editable=NO;

f1textview.selectable=NO;

f1textview.font=[UIFont systemFontOfSize:12];

f1textview.textAlignment=NSTextAlignmentLeft;

[leftView addSubview:f1textview];

//右边

UIView *rightView=[[UIView alloc]initWithFrame:CGRectMake(340, 0, 180, 220)];

UILabel *gLable=[[UILabel alloc]initWithFrame:CGRectMake(20, 20, 70, 20)];

gLable.backgroundColor=[UIColor colorWithRed:0.7 green:0.1 blue:0.1 alpha:1.0];

[email protected]"人物小传";

[rightView addSubview:gLable];

UITextView *textView=[[UITextView alloc]initWithFrame:CGRectMake(20, 40, 150, 170)];

textView.text= [LBZModelDataAll dataDetailFromModel:poet_list andDataNum:a andNSString:xiao_zhuan];

textView.editable=NO;//设置可编辑属性

textView.selectable=NO;//设置可选择属性

textView.backgroundColor=[UIColor colorWithRed:1 green:1 blue:1 alpha:0];

textView.font=[UIFont systemFontOfSize:12];

textView.textAlignment=NSTextAlignmentLeft;

[rightView addSubview:textView];

//表层视图

[PoetIntroduceview addSubview:leftView];

[PoetIntroduceview addSubview:rightView];

//下层遮挡视图通过添加一层中间视图并调节透明度使所需要显现的视图后面视图变暗,而所需要显现的视图继续明亮

bgview=[[UIView alloc]initWithFrame:self.view.frame];

bgview.backgroundColor=[UIColor blackColor];

bgview.alpha=0.6;

[self.view addSubview:bgview];

[self.view addSubview:PoetIntroduceview];

}

时间: 2024-10-14 20:39:46

短时间内不停访问一组数据,每次只取出一个时,需用懒加载的相关文章

懒加载(延迟加载)之后,在使用数据过程中容易出现的bug

在UI中,使用懒加载,也就是延迟加载来加载数据的时候,总是会面临几个问题? 如:1. >为什么先创建NSArray属性? 2. >为什么重写NSArray的get方法? 3.>为什么要判断是否为空? 4.>为什么下方代码"//1"这里不用NSString stringWithFormat: 而"//2"这里要使用? 5.>同时"//2"这里为什么使用的是%ld 来作为占位符? 这些问题不搞懂,懒加载就很难通透,  代

IOS数据懒加载

懒加载,又称为延迟加载.说的通俗一点,就是在开发中,当程序中需要利用的资源时.在程序启动的时候不加载资源,只有在运行当需要一些资源时,再去加载这些资源. 我们知道iOS设备的内存有限,如果在程序在启动后就一次性加载将来会用到的所有资源,那么就有可能会耗尽iOS设备的内存.这些资源例如大量数据,图片,音频等等 下面举个例子: 1> 定义控件属性,注意:属性必须是strong的,示例代码如下: @property (nonatomic, strong) NSArray *imageList; 2>

代码: 两列图片瀑布流(一次后台取数据,图片懒加载。下拉后分批显示图片。图片高度未知,当图片onload后才显示容器)

代码: 两列图片瀑布流(一次后台取数据,无ajax,图片懒加载.下拉后分批显示图片.图片高度未知,当图片onload后才显示容器) [思路]: 图片瀑布流,网上代码有多种实现方式,也有各类插件.没找到合意的,所以根据网上找的一段代码,进行了较大改动. 需引用 zepto 或 jquery. 我这个是应用于手机上的,两列瀑布流,图片高度未知——等图片的onloaded事件触发后,才对容器进行计算和定位. 大容器是 $("#imgList"),容器格子是$(".pin"

安卓中实现界面数据懒加载

大家在使用手机新闻客户端的时候就会有一个发现,大多数的新闻客户端都会把新闻分类,诸如头条.娱乐.体育.科技等等,如何实现这种界面的呢?这个实现起来其实很简单,就是在一个Fragment中实现多个ViewPage的切换,再在ViewPage的上面放一个TabLayout,关联起来就可以实现联动效果.如果大家感觉不太明了的话,以后我可以专门写一篇关于Fragment中放入多个ViewPage的博客,今天,我主要介绍的是怎样实现界面即Fragment的懒加载.那么,大家就会奇怪了既然是加载界面直接加载

懒加载数据

员工:${emp.empName }<br /> 部门:${emp.dept.name } 1.在service层获得数据 2.关闭懒加载 通过员工获得所在部门的名称,则在员工方设置. <many-to-one name="dept" column="dept_id" class="Dept" lazy="false"></many-to-one> 3.OpenSessionInViewFi

数据模型的构建及懒加载数据

1.数据模型的构建 #import <Foundation/Foundation.h> @interface AppModel : NSObject @property (nonatomic, strong) NSString *icon; @property (nonatomic, strong) NSString *name; - (instancetype)initWithDict:(NSDictionary *)dict; + (instancetype)appModelWithDic

iOS中UITableView--(从plist读取数据到model,实现懒加载, TableView的数据加载)

#import "RootViewController.h" #import "Htohero.h" @interface RootViewController ()<UITableViewDataSource> @property (nonatomic, retain) NSArray *apps; @end @implementation RootViewController - (void)viewDidLoad { [super viewDidL

smartjs - DataManager 场景示例分析 - 数据懒加载

发一张policy的参数图设置图: 场景1 - 数据的懒加载/延迟加载 在很多时候,为了提高网页的加载速度,减少不必要的开销,会将页面的数据拆分成几个部分,首先加载呈现可视区域内的数据,然后剩下来的会在需要的时候在进行加载. 而这种按需加载的数据又分为两种: 1.按照需要进行加载:可以是由某个动作触发来引起,比如:tab,查看更多等: 2.采用缓存的方式:对后续动作的预知,提前将后续的数据加载进来,放入到缓存中:等需要的时候能提供快速的响应:比如:很多igrid的滚动分页 那么来看一下在data

【android】只让本应用程序的webview加载网页而不调用外部浏览器的办法

只让本应用程序的webview加载网页,而不调用外部浏览器打开的办法就是:设置WebViewClient,并重写WebViewClient的shouldOverrideUrlLoading方法返回true mWebView.setWebViewClient(new WebViewClient(){ @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { // TODO Auto-generated