自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

LOLITA0164的博客

小白进城,请多多指教。

  • 博客(116)
  • 收藏
  • 关注

原创 iOS 快速从OC过渡到Swift(4.1),由理论到实战

引言本文旨在帮助开发者快速从OC开发过渡到Swift开发,挑选了一些比较浅显的但是比较常用的Swift语法特性,在介绍的过程中,通常会拿OC中的语言特性作比较,让大家更好的注意到Swift的不同。 另外需要说明的是,笔者也仅仅是刚刚接触Swift不久,如果有说的不对的地方,还望指正,这里贴出Swift中文翻译地址,方便大家可以深入了解Swift。Swift简介Swift是一门开发...

2018-08-27 22:11:43 13459

原创 iOS 运行时的那些事儿

什么是运行时?编程语言有静态和动态之分。静态语言:如 Java、C,在编译阶段就确定了成员变量、函数的内存地址。动态语言:如OC,在运行期间才确定成员变量和函数地址,即使没有实现部分同样能通过编译。动态语言具有比较高的灵活性,但是正因为如此,动态语言即使在编译通过之后,依然会发生错误,程序有着当对的不确定性。Objective-C 就是一种动态语言,它为我们提供了 runtime 机制,是...

2017-07-31 10:27:38 18963

原创 iOS 必备工具 - CocoaPods

一、CocoaPods是什么问题在IOS开发过程中,经常会使用到第三方框架,通常都是去GitHub上下载相关的框架,导入工程并添加框架所依赖的framework,那么问题就出现了,如何解决工程所依赖的framework的重复性,并且当三方框架更新时,需要我们手动的删除旧的框架、重新下载框架的最新版本,添加依赖的库,这过程繁琐而又易错。那有没有什么好的工具来解决上述的问题呢?答案是有的,就是Coco

2016-07-18 11:24:59 19879

原创 Flutter学习笔记 - Dart语言

官方文档。在线体验。文章目录体验 Dart 程序变量内置类型函数可选参数函数对象匿名函数注意事项运算符异常类构造函数Getter 和 Setter抽象类创建子类Extension 扩展类枚举类型Mixin 模式类变量和类方法泛型限制参数化类型库和可见性异步生成器总结Dart是谷歌开发并在2011年亮相,2015推出了基于Dart语言的移动应用程序的开发框架 Sky,后更名为 Flutter。经过多年的发展和完善,Flutter 逐渐成为公司开发应用程序的新宠儿。Dart是面向对象的、类定义的、单继承

2020-05-25 18:00:35 459

原创 iOS 暗黑模式

文章目录需求环境获取和设置禁止暗黑模式UITraitCollection适配的元素动态颜色动态图片系统变动在线调试参考地址需求iOS 13 的暗黑模式已经推出来有很长一段时间了,之前觉得苹果应该不会强制要求适配暗黑模式,随意仅仅是给应用做了禁止暗黑模式。然而苹果前段时间要求应用必须适配暗黑模式,微信首当其冲,苹果将最后的大限延迟到了6月30号,现在不得不去适配了。好在网上有着非常多的文章可...

2020-04-28 10:49:48 658

原创 Swift5.2 拾遗笔记(四)

本文为私人学习笔记,仅仅做为记录使用,详情内容请查阅 中文官方文档。

2020-04-18 16:45:12 287

原创 Swift5.2 拾遗笔记(三)

本文为私人学习笔记,仅仅做为记录使用,详情内容请查阅 中文官方文档。

2020-04-16 14:31:39 223

原创 Swift5.2 拾遗笔记(二)

本文为私人学习笔记,仅仅做为记录使用,详情内容请查阅 中文官方文档。

2020-04-15 15:50:25 263

原创 Swift5.2 拾遗笔记(一)

本文为私人学习笔记,仅仅做为记录使用,详情内容请查阅 中文官方文档。

2020-04-15 15:03:07 292 1

原创 iOS 项目进阶管理 - 组件化

文章目录理论篇什么是组件化为什么需要组件化组件化的分层核心工具 CocoaPods典型的产品总结参考实践篇组件的创建设置共享文件使用组件三方依赖库关联远程仓库打 `tag` 并发布到 Cocoapods集成到宿主工程小结理论篇什么是组件化组件化开发就是将一个臃肿的、单一的项目,根据功能/业务/技术等等进行拆分,形成一个个独立的功能组件,然后借助 CocoaPods 管理工具将其任意组合,集成...

2020-04-14 11:15:57 814 1

原创 iOS 路由的概念

路由是一种数据的收集和分发过程。URL携带了获取资源所需要特定信息,通过既定的URL,让应用的页面、组件之间相互解耦变得可能。

2020-04-13 16:44:22 527

原创 iOS 面向接口编程

继承面向对象的三大特点:继承、封装、多态,其中继承的最大优点就是代码复用。但是很多时候继承如果没有限制很可能会被滥用,造成代码结构散乱,分散到各个类中,如果想要做功能迁移,可能会拔出萝卜带出泥,高耦合也是继承无法避免的问题。另外,后期维护困难,如果新人加入项目,那么掌握各个父类中的功能也是一项不小的成本。什么是接口接口的概念,不同的语言的实现形式不同。Java中,由于不支持多重继承,因此提供...

2020-04-13 09:22:32 467

原创 iOS 依赖注入:Objection 和 Typhoon

【依赖注入】(Dependency Injection) 是面向对象编程的一种设计模式,用来减少代码之间的耦合度。通常基于接口来实现,也就是说:不需要亲自new一个对象,而是通过相关的控制器来获取对象。

2020-04-12 17:09:07 724

原创 iOS MVC、MVVM的思考和小结

本文参考了文章浅谈 MVC、MVP 和 MVVM 架构模式并引用了部分的内容,结合自己以往的经验,总结了一下自己对几种架构的理解。##1. iOS 中的MVC上图是对 iOS 中MVC经典的图解:将整个应用分成 Model、View和Controller三个部分,这三个部分的职责如下:视图:管理作为位图显示到屏幕上图像和文字输出;控制器:转换用户的输入并依照用户的输入操作相应的模型和视...

2019-09-20 10:40:34 317

原创 iOS ReactiveCocoa(RAC) 番外篇

在上一篇ReactiveCocoa(RAC)教程中,我们学习了ReactiveCocoa的一些基础内容。本篇中我们继续介绍一些有趣的用法。1.0 NSObject相关的信号在基础教程中我们知道,ReactiveCocoa使用分类扩展一套标准UI库的信号,如文本框的rac_textSignal、按钮的rac_signalForControlEvents:等,也有通过多个信号生成组合信号。除此之外...

2019-09-20 10:38:51 327

原创 iOS ReactiveCocoa(RAC) 基础教程

官方文档ReactiveCocoa第一部分:【基础教程】1.0 简介作为iOS开发人员,我们所编写的代码几乎都是对某些事件的响应,如按钮点击、收到网络消息、属性更改(KVC键值观察)或者通过 CoreLacation 更改用户位置等等。但是,这些事件都以不同的方式进行传递,如actions、代理、KVO、回调块、通知等等多种形式,虽然灵活多样,但也同时增加了代码的复杂性。[Reactive...

2019-09-20 10:35:42 691 1

原创 iOS Core Image - 入门导读

简介Core Image 是一种图像处理和分析技术,可为静态和视频图像提供高性能处理。 使用许多内置图像过滤器来处理图像并通过链接过滤器来构建复杂效果。关于过滤器种类和效果可以查看官方文档:Core Image Filter Reference系统内置了多种滤镜效果,你可以将多种滤镜组合使用,一般情况下的需求都可以满足。当然,你也可以自定义滤镜效果。关于自定义了滤镜可以查看官方文档:Co...

2019-01-24 16:37:00 4476

原创 iOS 动画篇 - pop动画库

Pop 是 iOS,tvOS 和 OS X 的可扩展动画引擎。除了基本的静态动画外,他支持弹性和衰减动画动态动画,使其可用于构建逼真的基于物理学的交互。API 允许与现有的 Objective-C 或 Swift 代码库快速集成,并支持 NSObject 上任何属性的动画。它是一个成熟并且经过良好测试的框架。本文主要着重介绍 Pop 库的使用,并结合实例作相关动画的演示。简单示例我们先看来...

2018-12-06 13:55:34 8671

原创 iOS 动画篇 - UIKit动画(一)

在前面文章中,有详细介绍过 Core Animation 动画,UIKit 动画实质上是针对核心动画的封装,不同的是,核心动画操作的是图层级别(CALayer),通常情况下,它不会影响到视图层,而 UIKit 针对的是视图级别(UIView),我们在做此动画后,视图的 frame、center等属性都会响应的变化。在入场开发中,UIKit 动画块可以完成百分之九十以上的动画任务,这些动画任务通常...

2018-12-04 17:55:15 7977

原创 iOS 动画篇 - UIKit动画(二)

简单使用篇简介iOS10带来了很多新特性,其中有个 UIViewPropertyAnimator 类,光从名字上就可以看出,这是一个操作属性动画的类。实际上,这个类能够让我们对视图进行动画控制,我们除了可进行正常的运行动画,如开始、暂停、重启等操作动画,还可以将动画转换为交互式动画,任意的控制时间。它可以对视图的可动画属性进行操作,例如frame,center,alpha 和 transfo...

2018-11-29 22:02:45 8469

原创 iOS 动画篇 - Core Animation

声明该篇文章的内容参考自 iOS核心动画高级技巧 一文,非常感谢其作者和中文版的作者,让我能够相对系统的学习 CoreAnimation 的知识,我受益匪浅,再次感谢。如果有兴趣的小伙伴可以访问其网站,详细的,完整的学习 CoreAnimation。CAAnimation 篇CAAnimation 是一个抽象动画类。 遵循着 CAMediaTiming 和 CAAciotn 两个协议。 要...

2018-11-26 09:08:51 8241

原创 iOS CALayer介绍

声明该篇文章的内容参考自 iOS核心动画高级技巧 一文,非常感谢其作者和中文版的作者,让我能够相对系统的学习 CoreAnimation 的知识,我受益匪浅,再次感谢。如果有兴趣的小伙伴可以访问其网站,详细的,完整的学习 CoreAnimation。Core Animation 介绍Core Animation ,核心动画,似乎第一次看到这个名字的人都会认为这是一个和动画相关的库,但是实际...

2018-11-20 21:30:16 8469

原创 iOS Jenkins 自动化打包

Jenkins介绍Jenkins是一个开源软件项目,是基于java开发的一种持续集成工具,用于监控持续重复的工作(比如代码打包、提测),旨在提供一个开放易用的软件平台,使软件的持续继承变成可能。Jenkins功能包括:1、持续的软件版本发布/测试项目2、监控外部调用执行的工作自动化流程1、版本迭代完毕,已提交git服务器2、执行jenkins构建操作,执行脚本完成签名、打包、上传分发...

2018-10-24 16:43:01 8209

原创 iOS 自建应用内测分发平台

应用内测分发平台首先就是祭出好用的应用内测分发平台。蒲公英:免费的应用托管平台 | App应用众测分发fir.im:免费应用内测托管平台 | iOS/Android应用Beta测试分发App TestFlight:官方内测平台一般的应用,通过【蒲公英】和【fir.im】进行应用分发就可以了,使用简单,应用可管理,下载方式便捷等等。下面我们介绍一下如何自行搭建一个分发平台...

2018-10-18 16:11:01 12115

原创 MySQL:常规操作示例

删除:DELETE、DROP、TRUNCATEDELETE删除表内数据。DELETE FROM 表名 [WHERE 删除的条件]示例:DELETE FROM student WHERE name = 'LOLITA0164'DROP删除表,包括表数据和表结构。DROP TABLE 表名示例:DROP TABLE studentTRUNCATE清除表内所有...

2018-10-09 17:17:03 10623

原创 launchctl :MAC 下的定时任务

launchctl 是一个统一的服务管理框架,可以启动、停止和管理进程、应用程序、脚本等。launchctl 可以通过 plist 文件来指定执行周期性任务。查看已存在的任务~/Library/LaunchAgents :由用户自己定义的任务项/Library/LaunchAgents :由管理员为用户定义的任务项/Library/LaunchDaemons :由管理员定义的守...

2018-09-25 19:37:26 12305

原创 Swift4.0 Codable协议:JSON和模型的转换

简单说明在OC中,以及Swift4.0之前,系统一直没有一套数据解析的方法。在Swift4.0后,终于推出了Codable协议,可实现json数据和数据模型的相互转换。首先来下 Codable ,它其实是一个组合协议,有 Decodable 和 Encodable 两个协议组成。/// A type that can convert itself into and out of an ...

2018-09-17 13:06:23 15295 1

原创 SQL:简单的 CRUD 操作

SQL 简介SQL 是用于访问和处理数据库的标准的计算机语言,全称是 Structured Query Language。SQL中 CRUD 重要的命令INSERT INTO :向数据库中插入新数据DELETE :从数据库中删除数据UPDATE :更新数据库中的数据SELECT :从数据库中提取数据注:SQL 对大小写不敏感, SELECT 和 select 是相同的。...

2018-09-15 16:30:20 11203

原创 爬虫基础:Beautiful Soup

参考文档:Beautiful Soup 4.2.0 文档Beautiful Soup 是一个可以从HTML和XML文件中提取数据的Python。它可以实现文档的增删改查操作,我们侧重点是它的查询操作。安装 Beautiful Soup你可以根据自己的系统选择下面的安装代码进行安装操作:$ apt-get install Python-bs4$ easy_install b...

2018-09-04 10:37:53 11008

原创 爬虫基础:Requests模块

Requests 是基于Python开发的HTTP网络请求库。GET请求import requestsurl = "https://xxxx"response1 = requests.get(url=url)response1.encoding = response1.apparent_encoding # 转码print(response1.url) ...

2018-09-02 13:58:34 11514

原创 iOS RunLoop基础和应用举例

RunLoop介绍1、RunLoop是寄生于线程的消息循环机制,它能保证线程存活,而不是线性执行完任务后就消亡。2、RunLoop与线程是一一对应的,每个线程只有唯一与之对应的一个RunLoop。我们不能创建RunLoop,只能在当前线程中获取线程对应的RunLoop(主线程RunLoop除外)。3、子线程默认没有RunLoop,需要我们主动去开启,但是主线程是自动开启了RunLoop...

2018-07-09 16:53:28 13268

原创 iOS GCD

GCD简介GCD 是 Apple 开发的一个多核编程的解决方法,简单易用,效率高,速度快。通过 GCD,开发者只需要向队列中添加一段代码块(block或C函数指针),而不需要直接和线程打交道。GCD在后端管理着一个线程池,它不仅决定着你的代码块将在哪个线程被执行,还根据可用的系统资源对这些线程进行管理。这样通过GCD来管理线程,从而解决线程被创建的问题。GCD基本概念任务和队列...

2018-07-02 16:46:07 9973

原创 iOS NSOperation和NSOperationQueue解读

NSOperation,即操作对象,是一个**抽象类**,用于封装和单个任务关联的代码和数据。NSOperationQueue是管理调用一组NSOperation对象的类。

2018-06-27 18:08:22 10725

原创 iOS NSThread

线程实例创建一个线程系统提供了三种创建线程的方法- (instancetype)init;// 通过指定对象和方法选择器的方式,argument是传递的参数- (instancetype)initWithTarget:(id)target selector:(SEL)selector object:(nullable id)argument;// 注意,这种方式是iOS10之...

2018-06-22 17:51:42 10368

转载 iOS 多线程的一些知识

转载地址:iOS多线程全套:线程生命周期,多线程的四种解决方案,线程安全问题,GCD的使用,NSOperation的使用一、多线程的基本概念进程:可以理解成一个运行中的应用程序,是系统进行资源分配和调用的基本单位,是操作系统结构的基础,主要管理资源。【线程】:进程的基本执行单元,一个进程拥有至少一个线程。【主线程】:处理UI,所有更新UI的操作都必须在主线程上执行。【多线程】:在同...

2018-06-11 15:09:15 10409

原创 iOS 便捷使用UIAlertViewController、UIAlertView、UIActionSheet

引言在iOS9.0以前,我们可以使用UIAlertView、UIActionSheet两种系统弹窗进行交互操作,分别用于信息提示和操作选项选择,采用代理的设计模式传递用户操作事件,其缺点也异常明显:1、使用不够简便,代理模式使得视图和事件分离,不易维护;2、页面存在多个弹窗时,需要分别区分,代码上不够清晰,这两个缺点也恰恰是笔者很头痛的事情。到了iOS9.0,Apple废弃了,UIAler...

2018-05-30 15:42:08 12887

原创 Pandas 学习笔记 (三) :属性和常用方法汇总

属性或方法 说明 axes 返回行轴标签列表 dtype 返回对象的数据类型(dtype) empty 如果系列为空,则返回True ndim 返回底层数据的维数 size 元素总数 values 将系列作为ndarray返回 head() 返回前n行 tail() 返回最后n行 ...

2018-05-09 20:22:29 12550

原创 Pandas 学习笔记 (二) :DataFrame数据结构

DataFrame介绍DataFrame是一种类似表格形式的二维数据结构,其数据是以行和列的表格方式排列的。例如我们存储一个人的相关信息: age name sex0 25.0 Bob F1 23.0 Tom F2 NaN Andy M上面就是一个简单的DataFrame,其中,name、age、sex分别为列标签,0、1、2分别为默认的...

2018-05-08 16:53:02 13129 1

原创 Pandas 学习笔记 (一) :Series数据结构

构建Series可以使用以下构造函数创建# data : 数据源,ndarray、list、dic、常量等# index : 索引,唯一和散列等,与数据的长度相同# dtype : 指定数据类型,默认系统推断数据类型# copy : 复制数据,默认为 Flasepd.Series( data, index, dtype, copy)创建空 系列s = pd.Seri...

2018-05-07 12:35:49 11128

原创 数据分析学习笔记 (九) -- Pandas:数据结构及基本使用

三种数据结构Series:系列(数组)DataFrame:数据帧(表)Panel:面板(表容器)描述和对比 数据结构 维数 描述 Series 1 数据均匀的数组 DataFrame 2 大小可变的表结构数据 Panel 3 大小可变,可理解为表容器注:较高维数据结构是其较低维数据结构的容器,例如:Da...

2018-05-06 17:53:58 13659

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除