透过案例学习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层应该储存的数据

  1. name属性
  2. icon属性
  3. 由于数据源是个字典类型,需要构造方法让字典转换为模型

3、View

View层主要描述xib中的View,其应该包含

  1. 文本View
  2. 图片View
  3. 按钮点击事件
  4. 点击事件处理
  5. 点击动画效果

4、Cotroller

Controller负责逻辑处理,处理数据加载,和处理数据与View的绑定

  1. 读取数据源
  2. 循环数据源,添加到xib中的View
  3. 为View绑定Model数据

源码下载

iOS基础——通过案例学知识之xib、plist、mvc的更多相关文章

  1. iOS基础问答面试

    <简书社区 — Timhbw>iOS基础问答面试题连载(一)-附答案:http://www.jianshu.com/p/1ebf7333808d <简书社区 — Timhbw> ...

  2. [iOS基础控件 - 5.5] 代理设计模式 (基于”APP列表"练习)

    A.概述      在"[iOS基础控件 - 4.4] APP列表 进一步封装,初见MVC模式”上进一步改进,给“下载”按钮加上效果.功能      1.按钮点击后,显示为“已下载”,并且不 ...

  3. [置顶] IOS 基础入门教程

    IOS 基础入门教程 教程列表: IOS 简介 IOS环境搭建 Objective C 基础知识 创建第一款iPhone应用程序 IOS操作(action)和输出口(Outlet) iOS - 委托( ...

  4. ios本地文件内容读取,.json .plist 文件读写

    ios本地文件内容读取,.json .plist 文件读写 本地文件.json .plist文件是较为常用的存储本地数据的文件,对这些文件的操作也是一种常用的基础. 本文同时提供初始化变量的比较标准的 ...

  5. iOS回顾笔记( 01 )-- XIB和纯代码创建应用的对比

    header{font-size:1em;padding-top:1.5em;padding-bottom:1.5em} .markdown-body{overflow:hidden} .markdo ...

  6. IOS基础学习-2: UIButton

    IOS基础学习-2: UIButton   UIButton是一个标准的UIControl控件,UIKit提供了一组控件:UISwitch开关.UIButton按钮.UISegmentedContro ...

  7. iOS 基础日记-修饰符

    今晚随便温习了一下iOS 基础关于修饰符这块的东西,下面简单的来描述一下,其中有的也是在网络学习到的: strong与weak是由ARC新引入的对象变量属性 ARC的解释:ARC引入了新的对象的生命周 ...

  8. iOS网络相关零散知识总结

    iOS网络相关零散知识总结 1. URL和HTTP知识 (1) URL的全称是Uniform Resource Locator(统一资源定位符). URL的基本格式 = 协议://主机地址/路径   ...

  9. 关于ios导航控制器的知识总结

    关于ios导航控制器的知识总结 添加了导航控制器后: 1.一个导航控制器会有一个顶部导航栏navigationbar和一个底部工具栏toolbar,它们是导航控制器navC的属性.且导航栏默认是不隐藏 ...

随机推荐

  1. 收藏了一篇很有用的博客 “npm的安装教程”

    暂时贴上这一篇博客的地址,感谢原作者 https://www.cnblogs.com/goldlong/p/8027997.html 使用之前,我们先来掌握3个东西是用来干什么的. npm: Node ...

  2. MQTT 协议学习:001-搭建MQTT通信环境,并抓包测试

    背景 目的:了解MQTT 通信的有关概念与流程:方便推算某些数据与文档描述是否一致. 为了能够在保证学习质量的前提下,降低配置环境的门槛,我们将服务器搭建在windwos中,实行内网间的MQTT协议访 ...

  3. 侯捷C++学习(一)

    //c++学习//标准库非常重要//要规范自己的代码complex c1(2,1);complex c2;complex* pc = new complex(0,1);string s1(" ...

  4. [转]Android 如何建立AIDL

    建立AIDL服务要比建立普通的服务复杂一些,具体步骤如下: (1)在Eclipse Android工程的Java包目录中建立一个扩展名为aidl的文件.该文件的语法类似于Java代码,但会稍有不同.详 ...

  5. dom与jq基础使用

    js有两种运行环境,一个是浏览器,一个是服务器(NodeJS) js的本质是es,因为运行环境的不同,为了操作环境内的api做了升级 在浏览器上js分为es + dom + bom 在服务器上js又有 ...

  6. synchronized wait notify 生产者消费者

    1.生产者消费者模型 public class ProducterConsumerTest{ public static void main(String[] args){ System.out.pr ...

  7. 嵊州普及Day2T2

    题意:对于n个数的数列,进行排列,求第m个大于此数列的数列. 思路:查找后2个是否逆序,若是,将后3个递归.如此运算,找后面大于此数中最小数交换,然后将后面数列顺序排列. 相对简单. 见代码: #in ...

  8. 移动 web 开发问题和优化小结

    1.前言 到目前为止,互联网行业里,手机越来越智能化,移动端占有的比例越来越高,尤其实在电商,新闻,广告,游戏领域.用户要求越来越高,网站功能越来越好,效果越来越炫酷,这就要求我们产品质量越来越高,w ...

  9. DevOps - 为什么

    章节 DevOps – 为什么 DevOps – 与传统方式区别 DevOps – 优势 DevOps – 不适用 DevOps – 生命周期 DevOps – 与敏捷方法区别 DevOps – 实施 ...

  10. ACM-小偷的背包

    题目描述:小偷的背包   设有一个背包可以放入的物品重量为S,现有n件物品,重量分别是w1,w2,w3,...,wn.问能否从这n件物品中选择若干件放入背包中,使得放入的重量之和正好为S.如果有满足条 ...