实际持有实例+呈现框架结构特性(实例与呈现特性一致,可访问一致特性实例下的成员变量成员函数。。。)
运行时多态机制:运行时通过堆栈区地址固定常量实例对应的地址动态访问调用堆栈地址下的成员变量成员函数
自定义的显式执行域实例+苹果官方的隐式执行域实例(防止开发者知晓底层代码)
常量时间/线性时间:描述算法的时间复杂度。运行程序算法所费时间与输入无关,常量时间;运行程序算法所费时间与输入有关,线性时间。
遵守RandomAccessCollection协议的算法只能通过随机元素访问。
as!强制转换类型;deserialize[dɪ’zɪərɪəlaɪz]反序列化
常量属性引用名持有option值可采用二元条件表达式/iflet语法
JavaScript与Java:名称看似相似(蹭热度)实际无任何关
JavaScript直译式脚本语言(内部封盒对象)(JavaScript解释性编程语言,JavaScript字符源码在正式需要执行之前不需编译,文本格式的字符源码仅仅是抛甩至客户,在正式需要时由浏览器解析执行(浏览器解析执行JavaScript字符源码))
Java程序设计语言(设计跨平台应用(面向对象))(介于解释型、编译型间(Java源码在正式需要执行之前先解析编译为底层兼容性语言,独立于平台外))
ava用途:个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网等
JavaScript用途:于HTML页面嵌入动态文本、对浏览器事件作出响应、读写HTML元素、数据提交到服务器前验证数据、检测访客浏览器信息、控制cookies
tbv.allowsSelection = true: allowsSelection(默认非编辑状态有效,单元选取(单个特性),单元选取状态下(若目标原来处于非选取状态,点击则目标变为选取状态,若目标原来处于选取状态,点击则目标再次进入选取状态,由于单个特性的作用,点击目标行过程中(首先进行将其他的行切换入非选取状态而后目标行进入选取状态)))
tbv.allowsMultipleSelection = true: allowsMultipleSelection(默认非编辑状态有效,多元选取(批量特性),多元选取状态下(若目标原来处于非选取状态,点击则目标变为选取状态,其他并不受影响;若目标原来处于选取状态,点击则目标变为非选取状态,其他并不受影响))
tbv.allowsSelectionDuringEditing = true: allowsSelectionDuringEditing(编辑状态有效,单元选取(单个特性),单元选取状态下(若目标原来处于非选取状态,点击则目标变为选取状态,若目标原来处于选取状态,点击则目标再次进入选取状态,由于单个特性的作用,点击目标行过程中(首先进行将其他的行切换入非选取状态而后目标行进入选取状态)))
tbv.allowsMultipleSelectionDuringEditing = true:allowsMultipleSelectionDuringEditing(编辑状态有效,多元选取(批量特性),多元选取状态下(若目标原来处于非选取状态,点击则目标变为选取状态,其他并不受影响;若目标原来处于选取状态,点击则目标变为非选取状态,其他并不受影响))
static修饰具有静态特性,不能在子类的执行域中重写;static修饰静态函数在子类的执行域中不能重写;class修饰的类框架结构执行域中可进行函数重写;
static修饰计算属性,class执行域实例中新增计算属性;重写父类中已存在的class修饰的计算属性;
关键字static/class都可以修饰框架结构体执行域实例,static修饰的执行域实例为静态执行域实例,class修饰的执行域实例为类执行域实例;
//@escaping逃逸用法(网络请求数据分析资源下载等耗时较多的操作异线程异步完成后,才会考虑回调闭包函数实例。@escaping效果是暗示暂时并不需要立刻访问调用函形参元持有的函数执行域实例而是在形参指令具体访问启动处据条件调用执行)
//Swift语法中网络请求状态下请求回调函数用逃逸@escaping修饰
//函形参元内置函数执行域实例为其他引用名再次持有需要逃逸@escaping修饰
//@noescape非逃逸(系统默认特性)(不能被其他引用名再次持有,不能在异步执行)(@noescape is the default and is deprecated)
// postscript[ˈpəʊstskrɪpt]附言,补充说明; migrate[maɪˈgreɪt]迁移,移动;catalog[‘kætəlɔ:g]目录册;assets[ˈæsets]资产
// deployment target部署目标;实例可分为:(1)执行域实例(2)对象实例
// 框架结构体的指令实例执行域启动执行方式通过’()‘或’.'运算符
// describing[dɪsk’raɪbɪŋ]叙述,描写;Command:JumpToDefinition;Option:ShowQuicklyHelp
// struct特殊需求下自定义满足特殊需求的框架结构体类型带有结构体类型执行域实例
// tableview中官方所提供的SeparatorStyle官方分割线在滚动的状态下若影若现;TableView的分割线最好采用自定义线视图lineView(自定义线视图lineView的高度设置大于0.5否则也若影若现)
// etched['etʃɪd]蚀刻;core[kɔ:®]核心;graphic[ˈgræfɪk]绘制;context[ˈkɒntekst]环境,上下文;reference[ˈrefrəns]引用,参考;stroke[strəʊk]轻抚,轻触;triangle[ˈtraɪæŋgl]三角形(域);radius[ˈreɪdiəs]半径,弧度;roundedRect闭环区域;
// 函数/方法三要素:(1)框架结构类型(2)执行域(3)别名
// Module类模块单元引入时出现红色线条暗示该类Module模块单元无论是否引入都可以访问调用Module执行域中的一切内容
// SnapKit Module类模块单元 布局
// FeedbackQuestionNavyYan.swift
// Amazon[ˈæməzən]亚马逊(河);Prime[praɪm]美丽早晨;coupon[ˈku:pɒn]优惠券,配给券;
// AutomaticDimension[daɪˈmenʃn]自动尺寸
// OC中@selector通过@objc桥接转为Swift中#selector;凡采用selector选择器都是基于 运行时机制
// Copyright © 2017年 suning. All rights reserved.
// lazy关键字(只适用于var)作用:引用名赋值指令 懒式写入(函数声明实例)(虽然构建了引用名赋值写入指令但实际并未执行,只有在 初次 调用读取 引用名持有实例时才会正式启动执行赋值指令(初次:先计算再返回结果)) 类似于OC中读取 别名 方法、swift中读取 别名 函数框架实例
// 初始化实际上属于1个复杂过程:属性->super init ->self
// IntegretedBtnNavySwift()创建类型实例;
// IntegretedBtnNavySwift.init(frame: )(新创建)类型实例+布局
// convenience[kənˈvi:niəns]便利
// CGRect.zero == CGRect(x: 0,y: 0,width:0,height:0)
// 逻辑:同级起点–>次级过渡点–>同级终点
// unwrapped[ʌn’ræpt]移除封盒
// 界面转入后,先进行非lazy属性引用名的实例化,之后访问执行init(frame: CGRect)函数实例
// IntegretedBtnNavySwift()创建类型实例;
// IntegretedBtnNavySwift.init(frame: )(新创建)类型实例+布局
// convenience[kənˈvi:niəns]便利;interactive[ˌɪntərˈæktɪv]交互;repository[rɪˈpɒzətri]仓库,映射库;Activitystatistics[ækˈtiviti][stəˈtistik]活动统计;specific[spəˈsɪfɪk]具体的,明确的;export[ˈekspɔ:t]输出,出口;sketch[sketʃ]素描,草图;measure[ˈmeʒə®]措施,测量;sketchmeasure高保真图;
// 逻辑:同级起点–>次级过渡点–>同级终点
// N-新建New、A-增加Add、M-更改Modify、D-删除Delete
// CGRect.zero == CGRect(x: 0,y: 0,width:0,height:0)
// 界面转入后,先进行非lazy属性引用名的实例化,之后访问执行init(frame: CGRect)函数实例;promotion[prəˈməʊʃn]促进,推广,促销;
// 父控件控件视图本身进行alpha透明化,子控件也受透明化影响;父控件UIColor色彩对象下的alpha不会对子控件产生透明化影响,可能会产生色彩叠加现象;
存储属性必初始化;可选值可以非手工初始化系统默认nil;非可选存储类型属性必初始化,默认初始化或在初始化函数中对其进行初始化;
基类必须自写初始化函数,非基类(子类)重写override继承至父类的初始化成员函数;重写效果:super访问调用父类执行域实例区+子类新增执行域实例区;
(I)1.指定(convenience/非convenience)初始化成员函数调用2.引用名分配内存区,调用初始化成员函数(调用父类初始化成员函数(追溯至继承链TOP部基类))促使存储属性都被初始化放入内存区3.继承链TOP部基类的初始化完成逐步回调,实例初始化完成;
(II)1.对属性值多次修改2.调用对象成员函数
swift参考文档
于 2019-07-31 17:12:58 首次发布