//

//  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文件的使用)的更多相关文章

  1. iOS 打包.framework(包括第三方、图片、xib、plist文件)详细步骤及需要注意的地方

    https://www.cnblogs.com/yk123/p/9340268.html // 加载自定义名称为Resources.bundle中对应images文件夹中的图片// 思路:从mainb ...

  2. iOS边练边学--plist文件,懒加载,模型初使用--补充instancetype

    一.什么是plist文件 1>将数据直接写在代码里面,不是一种合理的做法.如果数据经常修改,就要经常翻开对应的代码进行修改,造成代码扩展性低 2>因此,可以考虑将经常变得数据放在文件中进行 ...

  3. IOS学习笔记之获取Plist文件读取数据

    @property(nonatomic,strong) NSArray *pic; //创建数组属性 @property(nonatomic,assign) int index; //创建索引属性 @ ...

  4. 【IOS】iOS 企业版应用网站下载plist文件

    如果想从自己公司的网站上下载安装应用,首先 准备一个 index.html文件 <!DOCTYPE html> <html lang="zh-cn"> &l ...

  5. iOS 网络请求--- 配置info.plist文件

    一.配置info.plist <key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitra ...

  6. iOS工程中的info.plist文件的完整研究

    原地址:http://blog.sina.com.cn/s/blog_947c4a9f0100zf41.html 们建立一个工程后,会在Supporting files下面看到一个"工程名- ...

  7. IOS 读取本地的Json/plist 文件

    一.一般本地可以存储轻量级数据存储 plist  这个主要是操作字典 方法如下: NSString * sampleFile= [[[NSBundle mainBundle] bundlePath] ...

  8. iOS工程中的info.plist文件

    我们建立一个工程后,会在Supporting files下面看到一个"工程名-Info.plist"的文件,这个是对工程做一些运行期配置的文件,很重要,不能删除. 如果你在网上下载 ...

  9. WPF图片浏览器(显示大图、小图等)

    原文:WPF图片浏览器(显示大图.小图等) 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/wangshubo1989/article/details ...

随机推荐

  1. Jqeury Mobile实战之切屏效果以及屏幕滚动到底端加载更多和点击切换更多

    http://blog.csdn.net/q718330882/article/details/46120691 //页面滚动到底部加载更多事件 $( window ).scroll(function ...

  2. Web-URL编码流程图(详细了解乱码原因)

    URL编码流程图 原URL---->GET时浏览器根据HTTP头的Content-Type的charset,POST根据(<meta http-equiv="Content-Ty ...

  3. ubuntu下安装迅雷thunder

    迅雷是windows xp下必装的下载工具,作为一款跨协议的下载软件,迅雷的下载速度极其强悍. 那么在ubuntu下能否安装迅雷呢? 到ubuntu中文论坛逛了一圈,发现有现成的wine-thunde ...

  4. Java8 新特性之流式数据处理(转)

    转自:https://www.cnblogs.com/shenlanzhizun/p/6027042.html 一. 流式处理简介 在我接触到java8流式处理的时候,我的第一感觉是流式处理让集合操作 ...

  5. Redis学习之路(006)- Redis学习手册(Hashes数据类型)

    一.概述: 我们可以将Redis中的Hashes类型看成具有String Key和String Value的map容器.所以该类型非常适合于存储值对象的信息.如Username.Password和Ag ...

  6. Git的图形化工具使用教程

    虽然感觉并没有什么暖用,但姑且还是写出来留作纪念好了 Git这种分布式版本控制系统最适合的就是单枪匹马搞开发的选手,不需要服务器,下载个git和图形工具,网速快十分钟就能搞定开始愉快的开发工作.我在搭 ...

  7. Mac 重建 Spotlight 索引

    前言 最近发现很多 mac 用户反映自己的 mac 系统显示内存占用高达 200 多 Gb,可是实际上自己下载的应用程序根本没那么多,使用专业的内存扫描工具扫的结果跟系统本身显示的完全不一样.那么出现 ...

  8. 为什么 c = tf.matmul(a, b) 不立即执行矩阵乘法?

    在 TensorFlow Python API 中,a.b 和 c 是  tf.Tensor  对象.Tensor 对象是指令结果的符号句柄,但它实际上并不存放指令的输出值.相反,TensorFlow ...

  9. 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的一些 ...

  10. linux中合并多个文件内容到一个文件的例子

    尊敬的用户您好,从即日起 导入 及 导出 功能已经下线,请到阿里云官方数据库管理平台 iDB Cloud 使用该功能! 继续在 iDB Cloud 中发现导出的数据库文件是按照每个表生成的SQL文件, ...