iOS基础——通过案例学知识之xib、plist、mvc
透过案例学习xib的使用、plist的使用、mvc在iOS的使用,今天要做的案例效果图
1、xib和nib
xib文件可以被XCode编译成nib文件,xib文件本质上是一个xml文件,而nib文件就是编译后的二进制文件
2、xib和main.storyboard
xib是轻量级的UI布局,main.storyboard是重量级的,用来描述整个软件的多个界面,并且能展示多个界面的跳转关系
3、xib的创建
创建项目中需要的xib文件
4、xib的使用
进入xib界面,直接通过底部的控件,拖拽控件,组成我们项目中需要的一个Item,接着就是重复遍历一样的出来就可以形成九宫格了
5、xib的属性设置
我们需要创建一个YellowView继承UIView,来与xib进行关联
① 设置class属性
② 设置xib中的View的大小
③ 设置xib中View的圆角属性,边框属性等等
5、xib初始化
当xib将m文件关联起来之后,默认会在m文件中执行初始化方法
6、代码获取xib
1、创建plist文件
plist用来存储设置的地方,也可以存储资源,你可以理解为一个小型的自带数据库一样,不过它的操作可不是跟数据库一样,通过New File可以找到plist文件
2、设置plist数据
对plist进行赋值,设置我们要演示的数据到plist上,name表示名字,icon表示图片资源的名字
3、获取Plist数据
通过代码获取plist的根属性NSArray,通过遍历,将plist数据转换成模型,并存储在dataArray中
1、框架结构目录高档女装品牌
2、Model
根据案例需求,Model层应该储存的数据
- name属性
- icon属性
- 由于数据源是个字典类型,需要构造方法让字典转换为模型
3、View
View层主要描述xib中的View,其应该包含
- 文本View
- 图片View
- 按钮点击事件
- 点击事件处理
- 点击动画效果
4、Cotroller
Controller负责逻辑处理,处理数据加载,和处理数据与View的绑定
- 读取数据源
- 循环数据源,添加到xib中的View
- 为View绑定Model数据
iOS基础——通过案例学知识之xib、plist、mvc的更多相关文章
- iOS基础问答面试
<简书社区 — Timhbw>iOS基础问答面试题连载(一)-附答案:http://www.jianshu.com/p/1ebf7333808d <简书社区 — Timhbw> ...
- [iOS基础控件 - 5.5] 代理设计模式 (基于”APP列表"练习)
A.概述 在"[iOS基础控件 - 4.4] APP列表 进一步封装,初见MVC模式”上进一步改进,给“下载”按钮加上效果.功能 1.按钮点击后,显示为“已下载”,并且不 ...
- [置顶] IOS 基础入门教程
IOS 基础入门教程 教程列表: IOS 简介 IOS环境搭建 Objective C 基础知识 创建第一款iPhone应用程序 IOS操作(action)和输出口(Outlet) iOS - 委托( ...
- ios本地文件内容读取,.json .plist 文件读写
ios本地文件内容读取,.json .plist 文件读写 本地文件.json .plist文件是较为常用的存储本地数据的文件,对这些文件的操作也是一种常用的基础. 本文同时提供初始化变量的比较标准的 ...
- iOS回顾笔记( 01 )-- XIB和纯代码创建应用的对比
header{font-size:1em;padding-top:1.5em;padding-bottom:1.5em} .markdown-body{overflow:hidden} .markdo ...
- IOS基础学习-2: UIButton
IOS基础学习-2: UIButton UIButton是一个标准的UIControl控件,UIKit提供了一组控件:UISwitch开关.UIButton按钮.UISegmentedContro ...
- iOS 基础日记-修饰符
今晚随便温习了一下iOS 基础关于修饰符这块的东西,下面简单的来描述一下,其中有的也是在网络学习到的: strong与weak是由ARC新引入的对象变量属性 ARC的解释:ARC引入了新的对象的生命周 ...
- iOS网络相关零散知识总结
iOS网络相关零散知识总结 1. URL和HTTP知识 (1) URL的全称是Uniform Resource Locator(统一资源定位符). URL的基本格式 = 协议://主机地址/路径 ...
- 关于ios导航控制器的知识总结
关于ios导航控制器的知识总结 添加了导航控制器后: 1.一个导航控制器会有一个顶部导航栏navigationbar和一个底部工具栏toolbar,它们是导航控制器navC的属性.且导航栏默认是不隐藏 ...
随机推荐
- MQTT 协议学习:003-MQTT通信流程介绍
背景 有关博文:通信报文的构成 . 上一讲说到可变头与消息体要结合不同的报文类型才能够进行分析(实际上,官方的文档的介绍顺序就是这样的) 那么,我们就来具体看看有关的报文类型. 在此之前 我们捋一捋完 ...
- java 移动距离
移动距离 X星球居民小区的楼房全是一样的,并且按矩阵样式排列.其楼房的编号为1,2,3- 当排满一行时,从下一行相邻的楼往反方向排号. 比如:当小区排号宽度为6时,开始情形如下: 1 2 3 4 5 ...
- RAM和ROM的区别
区别如下: 1.概念 RAM(random access memory)即随机存储内存,这种存储器在断电时将丢失其存储内容,故主要用于存储短时间使用的程序.ROM(Read-Only Memory)即 ...
- springmvc线程安全问题
对于使用过SpringMVC和Struts2的人来说,大家都知道SpringMVC是基于方法的拦截,而Struts2是基于类的拦截.struct2为每一个请求都实例化一个action所以不存在线程安全 ...
- 如何在PHP中进行会话处理?
在PHP中会话处理是一个很重要的概念,它允许用户信息在网站或应用程序的所有页面上保持不变.下面本篇文章就来带大家学习一下PHP中会话处理的基础知识,希望对大家有所帮助. PHP中什么是会话(sessi ...
- DataTable.Copy()
DataTable dtpocopy = dtPO.Copy(); DataRow[] dr = dtpocopy .Select("客户名称='" + cusName + &qu ...
- flutter之VSCode下Flutter常用终端命令行
https://www.cnblogs.com/lxlx1798/p/11049922.html 梁飞宇 [Flutter学习]之VSCode下Flutter常用终端命令行 Flutter 常用命令行 ...
- 吴裕雄 Bootstrap 前端框架开发——Bootstrap 字体图标(Glyphicons):glyphicon glyphicon-star-empty
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...
- edge浏览器两个标签页localStorage不同步,解决办法
今天遇到个奇怪的问题,edge两个标签页之间的localStorage值不同步,网上说ie和edge如果想让localStorage值同步,需要主动出发localStorage的change事件 wi ...
- Live555 的一个缺陷–例子不能支持多线程(已经修改成支持多线程)
我对Live555进行了一次封装,但是Live555 是单线程的,里面定义的全局变量太多,我封装好dll库后,在客户端调用,因为多个对话框中要使用码流,我就定义了多个对象从设备端接收码流,建立多个连接 ...