OC学习之UI笔记二
来源:互联网 发布:淘宝怎么发布视频直播 编辑:程序博客网 时间:2024/06/04 20:02
UIView控件字典懒加载1.UIView控件 用来显示图片 显示图片的方法 UIImage *image=[UIImage ImageNamed:@”图片名”];Self.uimage.view=image;2.字典字典有两种:NSdictionary(静态)和NSMUtabledictionary(动态)NSMutabledictionary *dictionary=[NSMutabledictionary dictionary]Dict[@”icon”]=@”值”;Dict[@”desc”=@”值”;3.懒加载 为了优化性能。实际上是改写get方法当发现没有数据时才开始加载数据。4.If(_images==nil){数据的初始化}Return _images;//// ViewController.m// 03-图片浏览器//// Created by feiyue on 17/4/24.// Copyright © 2017年 HCSLiujing. All rights reserved.//#import "ViewController.h"@interface ViewController ()- (IBAction)preVious;- (IBAction)next;@property(nonatomic,assign)int index;@property (weak, nonatomic) IBOutlet UILabel *NOLabel;@property (weak, nonatomic) IBOutlet UIImageView *head;@property (weak, nonatomic) IBOutlet UILabel *descLabel;@property (weak, nonatomic) IBOutlet UIButton *btnPre;@property (weak, nonatomic) IBOutlet UIButton *btnNext;//放置数据//一般对象用strong,UI控件用weak@property(nonatomic,strong)NSArray *images;@end@implementation ViewController- (void)viewDidLoad { //可变字典 //为了性能问题使用了懒加载 // NSMutableDictionary *dict1=[NSMutableDictionary dictionary];// dict1[@"icon"]=@"biaoqingdi";// dict1[@"desc"]=@"No1";// NSMutableDictionary *dict2=[NSMutableDictionary dictionary];// dict2[@"icon"]=@"wangba";// dict2[@"desc"]=@"No2";// NSMutableDictionary *dict3=[NSMutableDictionary dictionary];// dict3[@"icon"]=@"bingli";// dict3[@"desc"]=@"No3";// NSMutableDictionary *dict4=[NSMutableDictionary dictionary];// dict4[@"icon"]=@"chiniupa";// dict4[@"desc"]=@"No4";// NSMutableDictionary *dict5=[NSMutableDictionary dictionary];// dict5[@"icon"]=@"danteng";// dict5[@"desc"]=@"No5";// _images=@[dict1,dict2,dict3,dict4,dict5]; /** [super viewDidLoad]; self.NOLabel.text=@"1/5"; self.head.image=[UIImage imageNamed:@"biaoqingdi"]; self.descLabel.text=@"No1"; */ [self changData]; }// 懒加载:重写get方法//核心思想:当数据不存在的时候加载-(NSArray *)images{ if (_images==nil) {//数据不存在的时候加载 NSMutableDictionary *dict1=[NSMutableDictionary dictionary]; dict1[@"icon"]=@"biaoqingdi"; dict1[@"desc"]=@"No1"; NSMutableDictionary *dict2=[NSMutableDictionary dictionary]; dict2[@"icon"]=@"wangba"; dict2[@"desc"]=@"No2"; NSMutableDictionary *dict3=[NSMutableDictionary dictionary]; dict3[@"icon"]=@"bingli"; dict3[@"desc"]=@"No3"; NSMutableDictionary *dict4=[NSMutableDictionary dictionary]; dict4[@"icon"]=@"chiniupa"; dict4[@"desc"]=@"No4"; NSMutableDictionary *dict5=[NSMutableDictionary dictionary]; dict5[@"icon"]=@"danteng"; dict5[@"desc"]=@"No5"; _images=@[dict1,dict2,dict3,dict4,dict5]; } return _images;}- (IBAction)preVious { //索引值减一 self.index--; [self changData];}- (IBAction)next { //1,索引值加一 //self.index=self.index+1; self.index++; //2.根据索引值设置数据 [self changData];}-(void)changData{ self.NOLabel.text=[NSString stringWithFormat:@"%d/%d",self.index+1, self.images.count]; NSDictionary *dict= self.images[self.index]; self.head.image=[UIImage imageNamed:dict[@"icon"]]; self.descLabel.text=dict[@"desc"]; //2.根据索引值设置数据 /** switch (self.index) { case 0: self.head.image=[UIImage imageNamed:@"biaoqingdi"]; self.descLabel.text=@"表情1"; break; case 1: self.head.image=[UIImage imageNamed:@"wangba"]; self.descLabel.text=@"表情2"; break; case 2: self.head.image=[UIImage imageNamed:@"bingli"]; self.descLabel.text=@"表情3"; break; case 3: self.head.image=[UIImage imageNamed:@"chiniupa"]; self.descLabel.text=@"表情4"; break; case 4: //self.NOLabel.text=@"5/5"; self.head.image=[UIImage imageNamed:@"danteng"]; self.descLabel.text=@"表情5"; break; } */ //设置按钮状态 /** if (self.index==0) { self.btnPre.enabled=NO; }else{ self.btnPre.enabled=YES; }*/ self.btnPre.enabled=(self.index==0)?NO:YES; /** if (self.index==4) { self.btnNext.enabled=NO; }else{ self.btnNext.enabled=YES; }*/ self.btnNext.enabled=(self.index==self.images.count-1)?NO:YES;}@end
0 0
- OC学习之UI笔记二
- OC学习笔记之OC对象的内存管理二
- OC UI学习中的笔记
- ios学习笔记之OC篇(二):引用计数
- OC runtime学习笔记二
- Objective-C学习笔记(二):OC之常用的OC语法上
- OC学习笔记之OC初见面
- OC学习笔记之OC类你好
- OC学习笔记之OC分类
- OC学习笔记之OC内存管理
- Composite UI Application Block 学习笔记之二
- IOS学习笔记(二)之应用程序UI基础
- Android学习笔记十一之Android基础UI二
- Android学习笔记十一之Android基础UI二
- OC学习笔记之ARC
- OC学习笔记之block
- OC学习笔记之@synthesize
- OC学习笔记之autorelease
- ajax demo
- Activity生命周期
- Java注解的实现与使用
- MySQL数据库
- BZOJ4662: Snow
- OC学习之UI笔记二
- Spring AOP拦截对Controller的请求时的配置失败
- 利用addr2line调试崩溃的bug
- fragment基础(一)
- Java文件操作①——XML文件的读取
- Java之万年历
- 在windows下 zookeeper 入门安装和测试
- CSU-1783: 聊天止于呵呵(字符串处理)
- DBA必知的mysql备份与还原