自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 资源 (2)
  • 收藏
  • 关注

原创 iOS多继承的实现及区别

来自我的个人博客Minecode.link多继承可以允许子类从多个父类派生,而Objective-C并不支持多继承,但我们仍可间接实现。Objective-C实现多继承主要可以通过协议、分类、消息转发来实现。我们来总结一下其使用以及优缺点。通过协议实现协议主要是用来提出类应遵守的标准,但其特性也可用来实现多继承。一个类可以遵守多个协议,也即实现多个协议的方法,以此来达到多继承的效果。概念上的单继承和

2018-01-14 23:39:44 2796 1

原创 iOS的几种定时器及区别

来自我的个人博客Minecode.link在开发中我们经常用到定时器,iOS为我们提供了多种定时器,包括NSTimer、CADisplayLink、GCD、NSThread(performSelector:afterDelay:),其本质都是通过RunLoop来实现,但GCD通过其调度机制大大提高了性能。定时器的使用中容易存在一些误区,故写本文总结。本文将介绍iOS的几种定时器、定时器的立即执行方法

2018-01-14 00:01:34 1589

原创 操作系统的进程/线程同步问题

来自我的个人博客 Minecode.link很多操作系统都提供了进程和线程的并发操作,他们可能在异步执行时访问共享数据,而并发访问共享数据可能带来数据不一致的同步问题,在此总结一下操作系统的进程/线程同步问题,以线程的并发为例。问题简介上图是多线程的状态(以iOS系统为例)。操作系统是通过CPU的时间片轮转来实现多线程的,每个线程有着对应的时间片,当其时间片到来时CPU会切换到该线程上下文并执行,待

2018-01-06 11:33:41 2484

原创 创建自己的CocoaPods库并提交指南

CocoaPods是一款很棒的依赖管理工具,在开发中也经常用它来导入开源第三方库。最近也想把自己的一些库开源并加入CocoaPods中,特总结一下自己制作CocoaPods库的过程。

2017-12-30 00:34:05 573

原创 使用Git添加Tag的方法

作为版本管理工具,Git可以对某个版本打上标签(tag),表示本版本为发行版。在发布软件,以及使用CocoaPods创建依赖库等情况时,需要对其版本使用标签注释。故简单总结一下添加tag的方式。

2017-12-30 00:31:44 65348

原创 CALayer的寄宿图

视图可以导入图片,并设置其拉伸模式、放大比例之类。而图层也可以导入图片,CALayer提供了寄宿图的概念来实现这一点。简单来说,寄宿图就是图层之中包含的图。

2017-12-24 22:20:05 423

原创 Objective-C协议遵守NSObject协议的原因

来自我的个人博客Minecode.link今天将用OC写的框架迁移至Swift时,发现OC写的协议都遵守了NSObject,而在Swift中没有此协议。所以记录一下这个问题的原因:在Objective-C 2.0之后,方法修饰符有@required和@optional(新增),也就是说增加了可选方法。对应的,也就需要在调用代理方法之前判断其是否被实现。也就是我们熟悉的如下写法:if (self.de

2017-12-24 22:17:58 937

原创 Objective-C开发中Clang的使用

在使用Objective-C开发过程中,尤其在了解某些功能的底层实现时,常用到Clang编译器的命令。在此对常用命令做个简单总结。Clang的简介Clang是一个C、C++、Objective-C和Objective-C++编程语言的编译器前端,其后端为底层虚拟机(LLVM)。是一个GCC的替代品,也是Xcode的首选编译器。

2017-12-24 14:16:35 1258

原创 探究Objective-C属性关键字

在使用Objective-C时,频繁用到属性关键字。我们应该理解每种属性的意义,并了解一些偏底层的实现,故在此对OC的属性关键字做个浅析。

2017-12-24 14:14:17 657

原创 TCP/IP五层模型消息解/封装仿真

消息封/解装仿真功能要求按照TCP五层模型仿真消息在两台主机之间的通信过程。 1. 在发送端模拟数据从高层到低层的封装过程,在接收端模拟数据从低层到高层的解封装过程。 2. 按照每层的功能对数据填加报头,并显示每一层得到的封/解装格式。 3. 传输层和网络层的封装格式参考TCP/IP的相应各层协议格式。 4. 网络层的IP报文需要模拟报文分段和重组的过程

2017-12-09 13:40:47 2622

原创 结构体的自引用及相互引用

在用C来实现数据结构以及部分算法时,经常用到结构体,比如实现树以及树的子节点时,就需要该结构体包含自身类型的成员变量。而最近在研究OC的匿名函数实现时,也涉及到了类似需求。同时,两个结构体之间相互引用也经常遇到问题。故简单总结一下C语言结构体的自引用语法。

2017-12-04 17:25:25 4549

原创 利用iOS ARKit制作AR传送门

利用ARKit制作一个类似哆啦A梦的AR任意门,iOS平台,使用Swift语言。

2017-11-11 00:22:10 2848

原创 50天iOS挑战(Swift) - 第10天:制作应用启动引导页面

很多应用在用户初次启动时,会展示一个What's new页面,如果打造一个多屏幕适配的启动界面,同时又保证低耦合性呢?Let's do it!本节将介绍启动界面的制作,下一节介绍登录界面的多屏幕适配。

2017-11-05 20:05:49 988

原创 【DuerOS开发日记】3.打造属于自己的小度(2):小白小白!——唤醒词替换

上一教程中,我们成功使用Python SDK并将其部署到我们自己的开发者账号中,那么这一节,我们开始让DuerOS真正成为我们的专属AI。叫惯了小度小度,想给它换个喜欢的名字怎么办?Let's do it!

2017-11-04 21:00:01 23275 7

原创 【DuerOS开发日记】2.打造属于自己的小度(1):使用PythonSDK

上一教程中,我们成功唤醒了小度,恭喜你踏入了AI的第一步!但是这样是基于镜像的,并不能去打造自己的小度。如果我们想要打造自己的小度,并在日后按自己的需求进行开发,又该如何配置呢?答案就是使用Python SDK来自行配置。本篇我们将详细讲解如何通过SDK来唤醒小度。

2017-11-04 20:57:55 16259 2

原创 【DuerOS开发日记】1.据说小度在等待帅的人把它唤醒

等了很久,终于收到DuerOS开发套件了。开此专题记录开发笔记,希望对他人入门有所帮助。

2017-11-04 20:55:46 9990 2

原创 50天iOS挑战(Swift) - 第3天:简单利用CoreLocation获取当前地址

做一个利用CoreLocation获取当前地址的小demo,任务量较小,放松一下主要知识点: CoreLocation

2017-10-22 23:18:32 343

原创 50天iOS挑战(Swift) - 第5天:模仿网易新闻顶端滑动分类列表

本Demo模仿网易新闻的顶端分类列表,实现顶端ScrollView与CollectionView的交互,并在滑动或点击时完成字体变大变小等动态元素。**主要知识点**: Collection View, UIScrollView,delegate

2017-10-22 19:30:25 1211

原创 Swift开发指南:使用Swift与Cocoa和Objective-C(Swift 4) - 2.互通性

章节导航:Swift开发指南:使用Swift与Cocoa和Objective-C(Swift 4) - 1.入门 与Objective-C API进行交互互操作性是能够在任何一个方向上与Swift和Objective-C进行接口,让您访问并使用以其他语言的文件中的一些代码。当您开始将Swift集成到应用程序开发工作流程中时,了解如何利用互操作性来重新定义、改进和增强编写Cocoa应用程序的方式是一

2017-10-02 19:35:23 1195

原创 Swift开发指南:使用Swift与Cocoa和Objective-C(Swift 4) - 1.入门

本指南介绍了Swift和Objective-C兼容性的三个重要方面,您可以在开发Cocoa应用程序时将其利用它: - **互操作性**让您可以在Swift和Objective-C代码之间进行交互,允许您在Objective-C中使用Swift类,并在编写Swift代码时利用熟悉的Cocoa类、模式和实践。 - **混编和匹配**允许您创建包含可以彼此通信的Swift和Objective-C文件的混合语言应用程序…

2017-10-02 15:56:25 1157

原创 Xcode9提示"Safe Area Layout Guide before iOS 9.0"

Xcode 9 为iPhone X设计了安全区的概念(Safe Area),支持iOS 9.0以后的设备,编译9.0之前的工程时如果使用了Safe Area,就会报错”Safe Area Layout Guide before iOS 9.0” 同时,使用了安全区,将会自动关闭Top Layout Guide,关闭安全区后即可恢复。

2017-10-02 11:57:20 2007

原创 50天iOS挑战(Swift) - 第7天:弹出View后背景变暗效果

50天iOS挑战(Swift) - 第7天:弹出View后背景变暗效果50天每天一个Swift语言的iOS练手项目,覆盖iOS开发的主要知识。贵在坚持,重在思考文章列表:http://blog.csdn.net/b735098742/article/category/6978601 Github项目:https://github.com/Minecodecraft/50DaysOfSw

2017-07-26 09:19:18 1126

原创 50天iOS挑战(Swift) - 第6天:可拖动重排的CollectionView

50天iOS挑战(Swift) - 第6天:可拖动重排的CollectionView50天每天一个Swift语言的iOS练手项目,覆盖iOS开发的主要知识。贵在坚持,重在思考文章列表:http://blog.csdn.net/b735098742/article/category/6978601 Github项目:https://github.com/Minecodecraft/50D

2017-07-25 22:50:55 1320

转载 Objective-C属性关键字浅析(下)

前文说道:关于属性的创建以及部分关键字的解释与区别,进行了一定程度上的解释。 具体可以查看:Objective-C属性关键字浅析(上) 本文会继续阐述一些跟属性关键字有关的一些技术点。

2017-07-25 15:08:11 725

转载 Objective-C属性关键字浅析(上)

本文是想各位同学们说明一下有关创建成员变量时,各个属性的意义以及一些偏底层的知识,大多数需要了解,因为面试官一般都会问到。

2017-07-25 14:48:46 504

原创 50天iOS挑战(Swift) - 第2天:手势操控弹性按钮

50天iOS挑战(Swift) - 第2天:手势操控弹性按钮

2017-06-19 23:03:24 744

原创 50天iOS挑战(Swift) - 第1天:秒表计时器

50天iOS挑战(Swift) - 第一天:秒表计时器

2017-06-19 01:55:12 3187 2

原创 小米手环iOS开发实战(二):开发Demo让你的手环振动起来

小米手环iOS开发实战(二):开发Demo让你的手环振动起来上一节讲了CoreBluetooth的使用,理论知识很枯燥,那么现在先利用上一节讲的内容,做一个简易手环应用,实现连接/断开手环,查看手环UUID、查看电量信息,并让振动的功能。 本节知识默认大家掌握iOS的基础控件,掌握通过storyboard或代码搭建界面UI,能够利用Swift或Objective-C编写程序。文章会尽量详细讲解这些

2017-06-09 01:46:55 12830 1

原创 小米手环iOS开发实战(一):iOS蓝牙框架CoreBluetooth

小米手环iOS开发实战(一):iOS蓝牙框架CoreBluetooth本项目为对小米手环进行二次开发,利用了小米手环蓝牙连接并不安全的特性,连接后可以获取手环数据,并可修改数据。 本实例使用Swift3.0语言,Objective-C的蓝牙模块处理有略微不同,具体可见文档。 本节首先介绍iOS蓝牙框架CoreBluetooth,在此仅介绍本实例涉及到的蓝牙操作内容,如果大家有需要,可以专开一贴介

2017-06-08 11:59:00 8871

原创 Uva820 Internet Bandwidth(网络流、双向EdmondsKarp)

Uva820 Internet Bandwidth(网络流、双向EdmondsKarp)

2016-08-17 23:27:58 469

原创 HDU1532 Drainage Ditches(网络流、EdmondsKarp)

HDU3549 Flow Problem(网络流、EdmondsKarp)

2016-08-17 23:21:08 295

原创 HDU1532 Drainage Ditches(网络流EdmondsKarp)

HDU1532 Drainage Ditches(网络流EdmondsKarp)

2016-08-17 14:58:58 284

原创 HDU5835 Danganronpa(简单推理)

HDU5833 Danganronpa(简单推理)

2016-08-14 22:03:02 906

原创 HDU5806 NanoApe Loves Sequence Ⅱ(尺取法\two pointers)

HDU5806 NanoApe Loves Sequence Ⅱ(尺取法\two pointers)

2016-08-14 21:34:40 472

原创 HDU5783 Divide the Sequence(贪心)

HDU5783 Divide the Sequence(贪心)

2016-08-13 22:53:13 302

原创 HDU5744 Keep On Movin(贪心)

HDU5744 Keep On Movin(贪心)

2016-08-13 22:18:02 311

原创 HDU5742 It's All In The Mind(贪心)

HDU5742 It’s All In The Mind(贪心)

2016-08-13 22:00:55 314

原创 【数据结构】——树状数组的几种模型

树状数组是利用二分的思想使得查询和修改的复杂度都为log(n)的数据结构,主要用于查询数组前缀和、区间和并且经常更改数据。

2016-08-13 11:54:50 2276 1

原创 POJ3468 A Simple Problem with Integers(树状数组->改段求点)

POJ3468 A Simple Problem with Integers(树状数组->改段求点)

2016-08-13 11:47:01 267

原创 HDU1166 敌兵布阵 (树状数组->改点求段)

HDU1166 敌兵布阵 (树状数组)链接:http://acm.hdu.edu.cn/showproblem.php?pid=1166题目Time Limit:1000MS Memory Limit:32768KB Description C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek

2016-08-13 11:42:31 382

编译原理(原书第2版) - 高清扫描版

编译原理(原书第2版) - 高清扫描版 PDF,机械工业出版社出版

2018-09-17

数据库系统概念(原书第六版) - 原版带书签

《数据库系统概念(原书第六版)》原版PDF,带中文书签。

2018-03-13

空空如也

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

TA关注的人

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