这次项目,被其他事情耽误了,所以结果很糟糕。
这次项目后被同学们提出的问题有以下:1.对象数据的传输 2.解析json/xml/html 3.UITableView 4.下载步骤 5.cell的高度 6.头文件循环引用如何解决 7.SQL语句 8.viewDidLoad调用时机 9.UITabBarController 10.按钮图片的设置 11.同步下载和异步下载
今天从上午开始讲了
10、按钮图片的设置
关于按钮,可以设置两张图片,且每张图片分别都有四种状态。
两张图片分别是 image型的图片 和 backgroundimage型的图片。
Normal-->正常状态、Highlight-->高亮状态、Selected-->被选中状态、disable-->不可用状态。
设置“ YES ”是 Selected 和 disable 的执行状态。
1、对象数据的传输
例子:
1、a、创建一个(老师)teacher类和一个(学生)student类。
teacher *t1 = [ [ teacher alloc ] init ] ;
student *s = [ [ student alloc ] init ] ;
2、teacher类有一个苹果,student类有零个苹果,苹果即teacher类和student类的两个属性。
t1.apple = 1; s.apple = 0;
3、数据传输第一个传输点。
s.apple = t1.apple; 此时,s.apple == 1
4、b、老师班上的一个学生。
teacher *Student = [ [ teacher alloc ] init ];
由于 teacher 类中有一个苹果,所以属于该类的对象 Student 也有这样的属性,
数据传输的第二个传输点。
即 Student.apple 将 Student 的值赋值给 Student.apple <==> Student.apple = s; 此时teacher类的 Student 对象的 apple 属性的值也是1。
5、又来了一位老师,也属于teacher类。当前teacher类里两个对象 t1 和 t2 ,他们的共同属性是 Student。
teacher *t2 = [ [ teacher alloc ] init ] ;
6、数据传输的第三个传输点。
将student类里面的 s 对象的值,赋值给 t2 的 Student 属性, t2.Student = s ;
此时,t2.Student.apple == 1;
7、t2 老师有2个apple,要通过数据传输来传输给 t1 老师的学生 Student 的方法有 3 种:
t1.Studen.apple + = t2.apple ;
t2.Student.apple + = t2.apple;
s.apple + = t2.apple;
以上的例子,可看出很简单的数据传输。
*********************************************************************************************************************
但是我们要学的是比较重要的,两个类之间的数据传输,我们以 Appdelegate 和 firstViewController 两个类的数据传输来做一个例子。
首先,要想将 Appdelegate 里的数据传输给 viewController ,必须要两个东西,一是,传输对象,即拿哪一个对象来进行传输,二是,传输值。
第一步:用 firstViewController 类 在 Appdelegate 类中 创建一个对象。
在 Appdelegate.m 文件中 有如下创建 : firstViewController * firstCtrl = [ [ firstViewController alloc ] init ];
要想数据进行传输,那么两个类之间必须要有一定的联系。
第二步:引用 firstViewController 的头文件是必须的,在引用的时候,我们必须在 firstViewController 文件里,设置一个属性 : @property (nonatomic,assgin) int age ;
第三步:在 Appdelegate 类里面,定义一个 age1 对象。 设 age1 = 20
第四步:在 Appdelegate 类里面,将 age1 的值赋值给 firstViewController.age。
即 firstViewController.age = age1;
第四步:完成数据传输,接下来 firstViewController.age = 20 可在 firstViewController 里面用了。前提是该对象没有被销毁。其实,总结下来全在一个类里面完成,只是将另外一个类的东西拿到一个类里面去进行赋值,传输。
值得注意的是,在 A-->B-->C-->B 的传输类型中,要想将 C 中的数据再传输给 B 。必须在“ B-->C ”的时候将 B 类中的对象 firstCtrl 与 C 类中的对象 secondCtrl 构造一种联系 secondCtrl.firstCtrl = self ;才能在C中
*********************************************************************************************************************
另外,除了一些系统的知识以外,还有一些小常识,也可以选择背下来。
a、对象-----alloc 一个 alloc ----- 一个 对象 几个 alloc ----- 几个对象
b、类是我们在没办法从任何地方看到的,但是作用非同寻常,它发挥作用,通过对象。所以,我们在使用的时候,一定会先创建一个对象。 类 *对象;
c、id类型是指对象 delegate 可以是任意类型,而id( TextDelegate ) deladegate 却是将 dedelegate 指定为 TestDelegate 类型。
d、strong 是强引用 weak 是弱引用 delagate 一般只用弱引用“ weak ” 且代理 delagate 为了避免参数传递的时候双方都是强引用,一般是在 返回传递参数的时候用 “ weak ”,所是正传输的时候用了弱传输的话,会是传输不稳定。
e、interface 后面 写 协议。