Swift 进阶(十二)高级运算符、扩展、访问控制

博主头像 高级运算符 溢出运算符(Overflow Operator) Swift的算数运算符出现溢出时会抛出运行时错误 Swift有溢出运算符 ,用来支持溢出运算 计算方式 类似于一个循环,最大值255再+1,就会回到0;最小值0再 1,就会回到255 而 就等于 ,也就是255 + 1 + 254,255 ...

Swift 进阶(十一)String、Array的底层分析

博主头像 String 我们先来思考String变量占用多少内存? 我们通过打印可以看到 占用了16个字节,并且打印内存布局,前后各占用了8个字节 下面我们再进行反汇编来观察下 可以看到这两句指令正是分配了前后8个字节给了 那String变量底层存储的是什么呢? 我们通过上面看到 的16个字节的值其实是对应转 ...

Swift 进阶(十)错误处理、泛型

博主头像 错误处理 错误类型 开发过程中常见的错误有 语法错误(编译报错) 逻辑错误 运行时错误(可能会导致闪退,一般也叫做异常) .... 自定义错误 Swift中可以通过 协议自定义运行时的错误信息 函数内部通过 抛出自定义 ,可能会抛出 的函数必须加上 声明 需要使用 调用可能会抛出 的函数 抛出错误信 ...

Swift 进阶(九)协议、元类型

博主头像 协议(Protocol) 基本概念 协议可以用来定义方法、属性、下标的声明,协议可以被结构体、类、枚举遵守 多个协议之间用逗号隔开 协议中定义方法时不能有默认参数值 默认情况下,协议中定义的内容必须全部都实现 协议中的属性 协议中定义属性必须用 关键字 实现协议时的属性权限要不小于协议中定义的属性权 ...

Swift 进阶(七)方法、下标

博主头像 方法(Method) 基本概念 枚举、结构体、类都可以定义实例方法、类型方法 实例方法(Instance Method):通过实例对象调用 类型方法(Type Method):通过类型调用 实例方法调用 类型方法用 或者 关键字定义 类型方法中不能调用实例属性,反之实例方法中也不能调用类型属性 不管 ...

详解activity,及其生命周期

博主头像 1:应用程序的启动过程 应用程序的图标被点击-》启动activitythread-》线程的入口main函数-》创建activitythread-》绑定activitythread thread.attach(false,startSeq)-》创建仪表类生命周期,管理程序的生命进程mInstrumen ...

Android Toast使用的简单小结

博主头像 老规矩,先上效果图吧 主要实现了几种常用的方式: 1.最基本的Toast 系统自带Toast采用的是队列的方式, 等当前Toast消失后, 下一个Toast才能显示出来;原因是Toast的管理是在队列中,点击一次,就会产生一个新的Toast,要等这个队列中的Toast处理完,这个显示Toast的任务 ...

Swift 进阶(六)属性

博主头像 属性的基本概念 Swift中跟实例相关的属性可以分为2大类 存储属性(Stored Property) 类似于成员变量的概念 存储在实例的内存中 结构体、类可以定义存储属性 枚举不可以定义存储属性 计算属性(Computed Property) 本质就是方法(函数) 不占用实例的内存 枚举、结构体、 ...

历代iPhone及Android手机的屏幕参数对比

博主头像 手机逻辑分辨率Point,也就是CSS像素,是进行网页适配的关键,以下是平时整理的一些备忘录数据,可以收藏。 屏幕清晰度分类 SD标清 HD高清(2倍屏) FHD全高清(3倍屏) QHD倍高清(4倍屏) UHD超高清(6倍屏) 屏幕长宽比分类 宽边屏(3:2屏幕) 窄边屏(16:9屏幕) 全面屏(1 ...

Swift 进阶(五)闭包

博主头像 闭包表达式(Closure Expression) 在Swift中,可以通过 定义一个函数,也可以通过 定义一个函数 闭包表达式格式如下 闭包表达式的简写如下 尾随闭包 如果将一个很长的闭包表达式作为函数的最后一个实参,使用尾随闭包可以增强函数的可读性 尾随闭包是一个被书写在函数调用括号外面(后面) ...

从设计模式角度看OkHttp源码

博主头像 前言 说到源码,很多朋友都觉得复杂,难理解。 但是,如果是一个结构清晰且完全解耦的优质源码库呢? OkHttp就是这样一个存在,对于这个原生网络框架,想必大家也看过很多很多相关的源码解析了。 它的源码好看,易读,清晰,所以今天我准备从设计模式的角度再来读一遍 OkHttp的源码。 主要内容就分为两类 ...

怎么理解onStart可见但不可交互

博主头像 前言 今天朋友遇到一个面试题,分享给大家: onStart生命周期表示Activity可见,那为什么不能交互呢? 这个问题看似简单,但涉及到的面还是比较多的,比如Activity生命周期的理解,进程的理解,以及View绘制的时机。 一起看看吧。 onStart介绍 首先,是关于onStart生命周期 ...

Swift 进阶(二)函数、可选项

博主头像 函数 函数的定义 有返回值的函数 形参默认是 ,也只能是 无返回值的函数 本质返回值的就是一个空元组 隐式返回 如果整个函数体是一个单一的表达式,那么函数会隐式的返回这个表达式 返回元组,实现多返回值 函数的文档注释 可以通过一定格式书写注释,方便阅读 "详细参照Apple官方的api设计准则" 参 ...

Swift 进阶(四)结构体和类

博主头像 结构体 基本概念 在Swift标准库中,绝大多数的公开类型都是结构体,而枚举和类只占很小一部分 比如 等常见类型都是结构体 所有的结构体都有一个编译器自动生成的孵化器(initializer,初始化方法、构造器、构造方法) 可以传入所有成员值,用以初始化所有成员(存储属性,Stored Proper ...

Swift 进阶(三)枚举

博主头像 枚举的基本用法 关联值(Associated Values) 有时会将 和`其他类型的值`关联存储在一起,会非常有用 必要时 可以改成 原始值(Raw Values) 枚举成员可以使用 的默认值预先关联,这个默认值叫做 原始值不占用枚举变量的内存,原始值只是关联上了枚举变量,所以原始值占用内存的大小 ...

gradle版本和gradle插件对应关系

博主头像 Gradle插件: Gradle插件是针对Gradle发行版和Android SDK Build Tools封装的一个工具,主要有两大功能:调用Gradle本身的代码和批处理工具来构建项目调用Android SDK的编译、打包功能Gradle插件版本在项目主目录下的 build.gradle 中,如 ...

kotlin 圆形进度条

博主头像 kotlin版的自定义圆形进度条 大多数启动页都会带个进度条加载样式,所以就自己用kotlin重新写了一个,如果真的要很炫酷还是有很多东西可以附加的 一个简单的进度条基本组成就是一个背景环,一个进度环,需要注意的就是绘制的方式了 因为圆形进度条是宽高对等的,我们定义view宽高可能不是对等的,所以绘 ...

iOS-审核4.3入坑(已出坑)

博主头像 入坑 最近帮朋友上架一个App,新的开发者账户,新的App项目源码,把账户与IPA包给我后,就直接提审了,结果第二天直接4.3;这么多年,上架第一次遇到4.3,也不知道是到底是代码问题,还是其他什么问题,经过度娘了解到是在人工审核时,给了4.3。 机审还是人审 如果是机器审核,一般收到的被拒信息开头 ...

初识Android

博主头像 初识Android 认识Android Android本意指”机器人“,Google公司将Android的标识设计为一个绿色的机器人,表示Android系统符合环保理念。它是一个轻薄短小、功能强大的移动系统,是为手机打造的开放性系统。 Android简介 Android操作系统最初是由安迪·鲁宾开发 ...

<1···567···200>