iOS-图片浏览器(字典和plist文件的使用)
//
// ViewController.m
// 19-图片浏览器
//
// Created by hongqiangli on 2017/7/31.
// Copyright © 2017年 李洪强. All rights reserved.
//
#define icon @"icon"
#define desc @"desc"
#import "ViewController.h"
@interface ViewController ()
/**
记录当前的索引号
*/
@property(nonatomic,assign)int index;
/**
上一张
*/
- (IBAction)previous;
/**
下一张
*/
- (IBAction)next;
/**
描述
*/
@property (weak, nonatomic) IBOutlet UILabel *descLabel;
/**
上一个按钮
*/
@property (weak, nonatomic) IBOutlet UIButton *previousBtn;
/**
下一个按钮
*/
@property (weak, nonatomic) IBOutlet UIButton *nextBtn;
/**
索引label
*/
@property (weak, nonatomic) IBOutlet UILabel *noLabel;
@property (weak, nonatomic) IBOutlet UIImageView *mainImageView;
/**
一般的OC对象用strong修饰
*/
@property(nonatomic,strong)NSArray *images;
@end
@implementation ViewController
- (NSArray *)images{
if(_images == nil){
//字典的方式初始化
// NSMutableDictionary *dic1 = [NSMutableDictionary dictionary];
// dic1[icon] = @"biaoqingdi";
// dic1[desc] = @"在他面前,其他神马表情都弱爆了!";
// NSMutableDictionary *dict2 = [NSMutableDictionary dictionary];
// dict2[icon]= @"wangba" ;
// dict2[desc] = @"哥们为什么选八号呢";
// NSMutableDictionary *dict3 = [NSMutableDictionary dictionary];
// dict3[icon]= @"bingli" ;
// dict3[desc] = @"这也忒狠了!";
// NSMutableDictionary *dict4 = [NSMutableDictionary dictionary];
// dict4[icon]= @"chiniupa" ;
// dict4[desc] = @"这小姑娘吃个牛排比杀牛还费劲啊";
// NSMutableDictionary *dict5 = [NSMutableDictionary dictionary];
// dict5[icon]= @"danteng" ;
// dict5[desc] = @"亲,你能改下你的网名么?哈哈";
// _images = @[dic1,dict2,dict3,dict4,dict5];
//用plist的方式加载
//拿到plist文件的全路径
NSString *path = [[NSBundle mainBundle]pathForResource:@"images" ofType:@"plist"];
_images = [NSArray arrayWithContentsOfFile:path];
}
return _images;
}
- (void)viewDidLoad {
[super viewDidLoad];
[self changData];
}
/**
点击上一张
*/
- (IBAction)previous {
_index--;
[self changData];
}
/**
下一张
*/
- (IBAction)next {
_index++;
[self changData];
}
- (void)changData{
_noLabel.text = [NSString stringWithFormat:@"%d/%ld",_index + 1,_images.count];
NSDictionary *dict = _images[_index];
NSString *iconStr = dict[icon];
NSString *descStr = dict[desc];
_mainImageView.image = [UIImage imageNamed:iconStr];
_descLabel.text = descStr;
//判断按钮能不能点击
_previousBtn.enabled = (_index != 0);
_nextBtn.enabled = (_index != 4);
}
@end
iOS-图片浏览器(字典和plist文件的使用)的更多相关文章
- iOS 打包.framework(包括第三方、图片、xib、plist文件)详细步骤及需要注意的地方
https://www.cnblogs.com/yk123/p/9340268.html // 加载自定义名称为Resources.bundle中对应images文件夹中的图片// 思路:从mainb ...
- iOS边练边学--plist文件,懒加载,模型初使用--补充instancetype
一.什么是plist文件 1>将数据直接写在代码里面,不是一种合理的做法.如果数据经常修改,就要经常翻开对应的代码进行修改,造成代码扩展性低 2>因此,可以考虑将经常变得数据放在文件中进行 ...
- IOS学习笔记之获取Plist文件读取数据
@property(nonatomic,strong) NSArray *pic; //创建数组属性 @property(nonatomic,assign) int index; //创建索引属性 @ ...
- 【IOS】iOS 企业版应用网站下载plist文件
如果想从自己公司的网站上下载安装应用,首先 准备一个 index.html文件 <!DOCTYPE html> <html lang="zh-cn"> &l ...
- iOS 网络请求--- 配置info.plist文件
一.配置info.plist <key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitra ...
- iOS工程中的info.plist文件的完整研究
原地址:http://blog.sina.com.cn/s/blog_947c4a9f0100zf41.html 们建立一个工程后,会在Supporting files下面看到一个"工程名- ...
- IOS 读取本地的Json/plist 文件
一.一般本地可以存储轻量级数据存储 plist 这个主要是操作字典 方法如下: NSString * sampleFile= [[[NSBundle mainBundle] bundlePath] ...
- iOS工程中的info.plist文件
我们建立一个工程后,会在Supporting files下面看到一个"工程名-Info.plist"的文件,这个是对工程做一些运行期配置的文件,很重要,不能删除. 如果你在网上下载 ...
- WPF图片浏览器(显示大图、小图等)
原文:WPF图片浏览器(显示大图.小图等) 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/wangshubo1989/article/details ...
随机推荐
- Jqeury Mobile实战之切屏效果以及屏幕滚动到底端加载更多和点击切换更多
http://blog.csdn.net/q718330882/article/details/46120691 //页面滚动到底部加载更多事件 $( window ).scroll(function ...
- Web-URL编码流程图(详细了解乱码原因)
URL编码流程图 原URL---->GET时浏览器根据HTTP头的Content-Type的charset,POST根据(<meta http-equiv="Content-Ty ...
- ubuntu下安装迅雷thunder
迅雷是windows xp下必装的下载工具,作为一款跨协议的下载软件,迅雷的下载速度极其强悍. 那么在ubuntu下能否安装迅雷呢? 到ubuntu中文论坛逛了一圈,发现有现成的wine-thunde ...
- Java8 新特性之流式数据处理(转)
转自:https://www.cnblogs.com/shenlanzhizun/p/6027042.html 一. 流式处理简介 在我接触到java8流式处理的时候,我的第一感觉是流式处理让集合操作 ...
- Redis学习之路(006)- Redis学习手册(Hashes数据类型)
一.概述: 我们可以将Redis中的Hashes类型看成具有String Key和String Value的map容器.所以该类型非常适合于存储值对象的信息.如Username.Password和Ag ...
- Git的图形化工具使用教程
虽然感觉并没有什么暖用,但姑且还是写出来留作纪念好了 Git这种分布式版本控制系统最适合的就是单枪匹马搞开发的选手,不需要服务器,下载个git和图形工具,网速快十分钟就能搞定开始愉快的开发工作.我在搭 ...
- Mac 重建 Spotlight 索引
前言 最近发现很多 mac 用户反映自己的 mac 系统显示内存占用高达 200 多 Gb,可是实际上自己下载的应用程序根本没那么多,使用专业的内存扫描工具扫的结果跟系统本身显示的完全不一样.那么出现 ...
- 为什么 c = tf.matmul(a, b) 不立即执行矩阵乘法?
在 TensorFlow Python API 中,a.b 和 c 是 tf.Tensor 对象.Tensor 对象是指令结果的符号句柄,但它实际上并不存放指令的输出值.相反,TensorFlow ...
- HTML5+CSS3整体回顾
http://blog.poetries.top/2016/10/19/HTML5+CSS3%E5%9F%BA%E7%A1%80%E5%9B%9E%E9%A1%BE%20/ 这篇文章主要总结H5的一些 ...
- linux中合并多个文件内容到一个文件的例子
尊敬的用户您好,从即日起 导入 及 导出 功能已经下线,请到阿里云官方数据库管理平台 iDB Cloud 使用该功能! 继续在 iDB Cloud 中发现导出的数据库文件是按照每个表生成的SQL文件, ...