跟踪AppInfo代码
跟踪AppInfo代码
model 中的属性方法都是要共享的,所以写在.h文件中。
数据操作在model中完成.
程序运行开始的时候,先执行ViewController,它会对自已的进行成员初始化工作!在准备工作结束以后,便开始对其所管理的view进行加载操作,便到了viewDidLoad方法中去
当执行到这儿由于它对自身的成员NSArray *appList 进行了setter重写,所以就调用了该重写后的setter方法.
在该setter方法- (NSArray *)appList中,判断了如果_appList为空,就调用[AppInfoModel appInfoList]进行赋值。以便获得该AppInfoModel的模型数组。
这就跑到了类AppInfoModel中的去了。(Model层)
appInfoList的作用就是返回一个可变的数组,改数组的内容为自身的模型,这个模型包括name 和 icon两个属性。
当程序执行到这一步以后,Controller 已经从知本地的plist中提取出了数据,并且保存在一个名称为AppInfoModel的数组中了。
接着回到Controller的viewDidLoad方法中,
程序执行了AppInfoView *appView = [AppInfoView appInfoViewWithAppInfo:self.appList[i]]; (view层)
这一句传入了一个参数self.appList[i], 这个参数就是model, 它保存在appList数组中,由下标决定了这是一个在plist中存在的一个模型。 而该方法appInfoViewWithAppInfo: 很简单,功能是创建一个view,这个view中不仅包含了这个view中的子控件(一个label, 一个image, 一个button),还包含传入的model中的appInfo信息,并且保存在这个view的成员属性iconImage和nameLabel中去了。
执行到这一步,就已径加载完本地存放在plist文件中的数据和view,接下来就是把9个app view 排列了,并且添加到该控制器所管理的那个view中 。
接下来就是当用户点击下载按钮的时候,主屏幕会显示一个label提示正在下载,几秒后消失,这个就是B(Controller 所管理的view)想要监听A(appView),当A被点击后,B要添加那个label显示几秒中再消失。
所以用到代理模式,B为A的代理,当A被点击了,通知B自已被点击了,需要干些什么事。
controller中
appInfoView中
Controller中。
好了,这个程序的大致流程就是这样。
转载于:https://www.cnblogs.com/jinhuiyao/p/4595423.html
跟踪AppInfo代码相关推荐
- php执行跟踪_PHP使用debug_backtrace方法跟踪调试代码调用详解
本文实例讲述了PHP使用debug_backtrace方法跟踪调试代码调用.分享给大家供大家参考,具体如下: 在开发过程中,例如要修改别人开发的代码或调试出问题的代码,需要对代码流程一步步去跟踪,找到 ...
- 怎么跟踪php代码,第九节 PHP 跟踪调试代码 XDebug
>[success] # PHP 跟踪调试代码 XDebug - [下载XDebug扩展](https://xdebug.org/download.php) - 下载对应PHP版本的Xdebug ...
- php如何跟踪调试,PHP使用debug_backtrace方法跟踪调试代码调用详解
本文实例讲述了PHP使用debug_backtrace方法跟踪调试代码调用.分享给大家供大家参考,具体如下: 在开发过程中,例如要修改别人开发的代码或调试出问题的代码,需要对代码流程一步步去跟踪,找到 ...
- java 鼠标动眼睛动_java实现眼睛跟着鼠标转动的跟踪眼代码
import java.html" target="_blank">java.applet.Applet; import java.awt.Color; impor ...
- java鼠标经过代码_一段眼睛跟着鼠标转动的跟踪眼代码
import java.applet.Applet; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; i ...
- 瞧一瞧看一看啦“一段眼睛跟着鼠标转动的跟踪眼代码”
import java.applet.Applet; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; i ...
- Android调用JNI本地方法跟踪目标代码
正如Android调用JNI本地方法经过有点改变章所说跟踪代码是可行的,但是跟踪某些代码会出现anr,点击取消,还是不好运,有提高办法吗?回答是有(gdb还没试过,本文只讨论ida). 下面是我使用 ...
- 点击网页跟踪php代码的工具,使用ltrace工具跟踪PHP库函数调用的方法
本文实例讲述了使用ltrace工具跟踪PHP库函数调用的方法.分享给大家供大家参考,具体如下: 可能大家已经很熟悉使用strace来跟踪系统调用,今天介绍一个跟踪库函数的利器ltrace 比如我有这么 ...
- php执行跟踪_PHP 代码调试跟踪工具 Ytrace
Ytrace是一个PHP代码调试跟踪工具,通过将PHP代码执行过程记录到文件中,再通过webui界面展示出来,并且支持单步调试的方式去查看执行过程. 主要特性: 可以可视化的看到源码文件哪些行被执行了 ...
- SVM+HOG识别Matlab代码,序列前向搜索Malab代码,抗遮挡的STC跟踪C++代码
1.毕业论文的代码.一个能识别能跟踪的程序.识别部分为SVM+HOG还有序列前向搜索,为Matlab写的. 2.跟踪部分为提升的STC跟踪算法,原版STC代码见http://blog.csdn.net ...
最新文章
- Codeforces Round #649 (Div.2)题解
- 支持鸿蒙的手机型号多少钱,华为鸿蒙系统支持手机型号一览
- 2018 German Collegiate Programming Contest (GCPC 18)
- #279. [SYZOI Round1] 滑稽♂树(树状数组套主席树)
- php strpos无效,簡單的PHP strpos功能不起作用,為什么?
- js赋值与逻辑运算的疑问
- leelen可视对讲怎么接线_对讲门铃怎么安装
- JAVA蓝桥杯:字母图形
- 【带着canvas去流浪(5)】绘制K线图
- element UI表格使用cell-style改变单元格样式
- 小D课堂 - 新版本微服务springcloud+Docker教程_6-05 高级篇幅之高并发情况下
- HANA学习笔记1-搭建HANA学习环境
- 计算机绘图CAD实训指导,【精品】CAD计算机绘图实习指导书
- 小猫爪:AWR294x学习笔记02-AWR294x之DPMIPC
- 最新CAD机械二维三维图块集
- servercat IOS Linux监控 SSH客户端
- 网络安全——数据库基础知识
- Newman基础使用
- matlab 多边形 自相交,怎么判断多边形是否自相交的算法
- kt条件例题运筹学_管理科学与工程 846运筹学 2015真题回忆+经验分享