项目后发现的问题

这次项目,被其他事情耽误了,所以结果很糟糕。

这次项目后被同学们提出的问题有以下: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 后面 写 协议。


    













  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值