这是我参与「第五届青训营」伴学笔记创作活动的第 13 天
ios现状与开发者生态
ios入门学习体系:
①了解内存管理是什么
②认识闭包block
③学习oc语言并发框架GCD
ios开发入门
1.从ui框架到网路存储再到多媒体的全链路技术实践
2.开始尝试搭建应用
ios开发者生态
It's very easy to be different,but very difficult to be better.
WWDC主要目的是让苹果公司向开发者们展示最新的软件技术。
现阶段需要关注是Apple在布局什么,是否有利于ios生态
CarPaly车机交互场景
Apple也在尽可能地强化Apple设备之间的连接
构建Apple生态网格
ipadOS发布于2019年,由硬件屏幕的区别,逐渐过渡到系统上的区别,将来有可能带来的是应用软件上的区别。
reality OS?
客三消?
预览工作内容:
Mbox主要是及逆行进行分支管理,需求集成,编译提速
性能监控工具
ios开发者要求:
①扎实的技术基础
②足够的技术热情
③积极主动地发现和解决问题
Xcode工程体系介绍
target可以设置依赖
选择第一个target,选择app,Framework,Static Library ios,输入法Custom keyboard Extension 消息Notification Service Extension iMessage,内嵌的小游戏或者是表情包
Object—c
swift,c#,HTML,React Native,Flutter
使用最多的是oc和swift
oc面向对象的程序语言,也可以使用c语言
类的实现:
@interface 定义的类:要继承的类
中间就是声明属性,声明方法
@end
类的实现
@implementation 类
@end
一个类可以有多个interface然后也可以有多个implementation,定义了之后就一定要有相对应的实现,不然会报错
声明文件.h,实现文件.m,interface可以写在.h(可被其他文件看到).m(只有该.m文件可用)
@implementation可写在.m文件中
对象与构造函数
使用:
//main.m ByteDancer *byteDancer2=p[[ByteDancer alloc]]initWithName:@"James"];
函数方法
被挡住的:andwith:(NSString *)name2;
函数方法:方法调用
实例方法、静态方法
在interface中声明变量就是在父类后面开一个花括号,然后进行声明,声明格式为:@权限(public/protected)+类型+名称,这里声明的是公开变量
然后implementation声明的是私有变量
外部调用/内部调用
implementation实现了任何interface都没有的方法,那么这个方法就是私有方法,只能被同个implementation中的代码去调用,同个文件的其他类也无法使用。
Object—c特性 公开Get/set方法,确保访问入口的唯一性
@propery属性 属性声明:
变量和属性方法
属性特性
访问原子性,默认:atomic
存取特性,默认:readwrit(get/set方法)
内存管理:默认strong(weak,copy,assign)
重命名get方法
重命名set方法
是否可为null,默认为null_unspcified(nullable,nunnull)
协议@protocol
希望不同类之间有共通的方法,类不能多继承
//ByteDancer.h
@interface SenioriosDeverloper:ByteDancer<遵守的协议>
@end
协议的设计
①委托方(声明协议,并持有委托对象属性)—dataSource数据源模式—代理方(遵守协议,并成为代理方的委托对象)—delegate委托模式—①
方法=讯息传输
responsToSelector,判断是否有实现
新建一个project,选择command Line Tool终端执行命令行
main函数
@class,避免直接引进头文件
创建一个json文件,然后把绝对路径及填进去
产物位置
运行产物