11-ios_Demo-1

今天是4月8日,接下来22天搞定ios,赶紧弄spring去

简单回顾一下demo1的目录结构:

1.各种第三方库文件:

     Getui,MJRefresh第三方下拉刷新库,圆形进度条,gif,圆形转圈圈,类似android的ImageLoader,图片上传,阿里百川,Umeng

然后就是iosapp主文件夹

最后就是编译文件products

iosapp详细剖一下:

1.首先就是

.entitlements,这个跟icloud和推送,sandbox有关,暂时不管

goods.sqlite 这个应该跟使用的第三方数据库有关系,用于收藏夹

2.宏:

1. 常量 #define +

大写 对象宏,就是android里面final 类型常量

2.boolean 作为一个判断条件 比如:

#define WIDTH_320     (CGRectGetWidth([[UIScreen mainScreen] bounds])==320)

3.嵌套宏 #define x (4 + y)

#define y (2 * x)

4.宏方法

5.本demo的宏

#define 后面➕ 大写类似 final constant var

#ifndef Constant_h

#define Constant_h

如果已经导入了这个.h文件,那么久不导入,常见的宏

#endif

关于宏,不需要了解太多,常用的宏也没几个,重点放在后续代码中

quote:http://gcc.gnu.org/onlinedocs/cpp/Macros.html

3.关于oc的若干语法

关于常见的什么NSString 等oc语法,开始肯定不熟悉的,所以,在备忘录积累一下,

然后,这里option其实就是参数的说明,oc的语法跟Java比,参数多个说明,可读性好一点,有无必要见仁见智

NSString建议用copy,对象用strong

oc里面的self就是Java里面的this,就是指的本类的一个对象,之前在Java不是很清楚的this,static其实很好理解,这个在spring学习中的的synchronized 锁里面有说明。

Oc的几种回调方式,quote     https://blog.csdn.net/ZXC641483573/article/details/80909063

  • Target-action回调
  • delegate方式
  • Notifications 方式
  • block方式

在本demo中,调服务端接口使用的就是匿名block的方式,关于block的深入学习,我们放到后面,暂时先了解一下知道如何使用即可

4.Rescources

Res文件里面放了本地的一些图片,h5文件

还有一个xib,之前学到xib就是android里面的xml的单元类型的

5.Main.storyboard

本demo中,所有的view,全部放在这里,但是我觉得不应该这样,view太多,会看的没有层次感,关系不清楚

然后,在ios里面,每一个scene都由一个controller来控制,所以我们主要的精力放在学习controller上面,在本demo中,不一一的写每个controller,而是把每天关于controller的技术总结放到blog里面,具体的我写在本地备忘录

6.Controller汇总

6.1

首先来看一个最基本简单的点击事件

UITapGestureRecognizer *singleTap1 = [[UITapGestureRecognizer alloc]
initWithTarget:self action:@selector(onClickIKnow:)];
[self.view addGestureRecognizer:singleTap1];

把一个ios的一个监听,绑在一个view上,然后发生了触摸事件以后,调用某个方法,这个方法的selector也写进来了,很容易看懂

这里补充一下监听的触发事件的一个类sender

触发事件这样写(id)sender

当发生click触发的时候就写成这样

(UIGestureRecognizer*)sender

而加入view里面有一个UIButton的时候,就写成:(UIButton *)sender

很好理解

6.2

didReceiveMemoryWarning

在ios里面,苹果给每个app只有20M的内存

一旦用到20m,就会给你一个通知,这个通知就是这个方法

在每个控制器都有,怎么处理看你自己

6.3

在本demo1里面阿,他是这样的,把主要的view全部画在storyboard里面,然后controller里面写代码+view

demo2里面很有可能是,不画,全部写在controller里面,也不是不可以

6.4

这里说一下,不同的controller之前的跳转,有很多方式,但是在这个demo里面

用的是,在storyboard里面拖拽,然后Storyboard Segue里面有一个Identifier ID

我们用这个id,使用方法performSegueWithIdentifier实现跳转,并且传数据

6.5

这里提一下,有点类似java里面,在ios中,.h文件里面,供其他类使用的fun,你才expose出来

否则没必要

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值