東引甌越

不断学习, 与时俱进.

嗨,我是孙亚洲(@sunyazhou13),一名来自北国冰城的iOS开发者,也搞过一些mac.现居帝都北京.开发数年有余,没有为往圣续绝学深感惭愧,今2017年开始写博客.望诸位同仁多多指教.


  1. UIView不同方向的导角

    前言开发中总因为一些比较蛋疼的导角问题而困扰着我们,尤其是我们要给一个UIView导角成 左上 、左下。。。 这种需求很值得用代码实现一下, 今天突然在AppCode找到了一篇好文章.于是有了下文 通常导角self.view.cornerRadius = 20.0self.view.clipToBounds = true 这两行代码是全方向导角 如果像要搞成不同方向的话可以用iOS11 新的API和 iOS11以前的CAShapeLayer画贝赛尔曲线来解决 首先我们要创建一个UIView c …

    iOS开发 继续阅读

  2. 手动管理UIViewController的生命周期

    前言话说很久不用UIViewController的不常用 的API渐渐的都没有了印象,在 iOS 客户端中,多个 childViewController 的页面是个很常见的交互设计,最早的网易新闻,今日头条等.这篇文章回味一下古老的手动控制视图控制器的生命周期的API. UIViewController我们在使用addChildViewController:的时候会遇到个问题.如何手动控制被添加控制器的生命周期. 如下代码 self.vc1 = [[VC1ViewController alloc …

    iOS开发, macOS开发 继续阅读

  3. AudioUnit

    前言声音的渲染在iOS平台上回直接使用AudioUnit的API来完成.用来实现一些类似大叔,KTV,耳返等效果…. 今天带领大家深入了解和学习一下这些音效. 实现iOS变声的背景声音变声一般都是发生在 一端采集录制另一端播放音频, 忽略中间的转码过程,在输入输出的中间过程中进行相应的音频参数就实现了变声. 下图是AVAudioSession的工作流 大家常用的变声方案有很多: FFMpeg提供内部效果器 eg:EQ均衡器 AVFoundation底层的Audio Unit eg: 混 …

    iOS开发, macOS开发 继续阅读

  4. 深入理解RunLoop

    前言RunLoop 是 iOS 和 OSX 开发中非常基础的一个概念,这篇文章将从CFRunLoop的源码入手,介绍 RunLoop 的概念以及底层实现原理。之后会介绍一下在 iOS 中,苹果是如何利用RunLoop实现自动释放池、延迟回调、触摸事件、屏幕刷新等功能的。 本文内容 RunLoop 的概念 RunLoop 与线程的关系 RunLoop 对外的接口 RunLoop 的 Mode RunLoop 的内部逻辑 RunLoop 的底层实现 苹果用 RunLoop 实现的功能 Autore …

    iOS开发, macOS开发 继续阅读

  5. Swift 4 中的数组技巧

    前言年前买了本Swift 进阶(swift4.0),过完年回来正在一点点学习,不得不说喵神写的东西还是不错的,¥69元对广大程序员来说已经不算啥了.如果感兴趣可以买一本,真心不错 当我从头来学习数组的时候发现好多函数真的太有用了 Swift 4.0 中的可变数组技巧我们可用 Xcode 创建playground 来进行练习 首先创建个数组 let array = NSMutableArray(array: [1, 2, 3, 4 , 5, 6]) for in 循环遍历 for x in arr …

    iOS开发, macOS开发 继续阅读

  6. 什么是符号表?

    前言iOS 开发中经常回定位 bug 通过崩溃堆栈,此时我们需要借助符号表来恢复内存地址对应代码调用信息,为了解开这个大家耳熟能详却总有人问的问题的面纱,我在 bugle 平台和一些文章中收集了相关知识整理出来,以便后续方便记忆. 本周主要内容如下 什么是符号表? 为什么要配置符号表? dSYM文件? 什么是符号表?符号表是内存地址与函数名、文件名、行号的映射表。符号表元素如下所示: <起始地址> <结束地址> <函数> [<文件名>:< …

    iOS开发, macOS开发 继续阅读

  7. 计算机图形渲染的流程

    前言今天在网上找到了一篇有价值的文章,来说明计算机中的图像渲染流程以及像素点计算和坐标点相关的知识. 计算机图形渲染的流程计算机的绘图过程可以简单用流水线来说明,而产品(数据)就是经过流水线作业(渲染)到屏幕的图像。这条流水线可以简化为(本文的概念):绘图位置座标指定;着色指定;输出指定;下图简单解释了这一个流水线过程。计算机绘图需要一个输入绘图数据,这个数据可以是用户指定的,也可以是操作系统决定的,也可以是混合的。这些数据是分组的。 座标生成:当绘图数据送入座标生成系统后,流水线就会对其进 …

    iOS开发, macOS开发 继续阅读

  8. Learning AV Foundation(五)播放视频

    前言很久没有写Learning AV Foundation相关的文章了,言归正传本篇介绍一下简单的视频播放 了解视频播放之前我们来看戏AVPlayer需要的一些组件模型 AVPlayerAVPlayer是一个用来播放基于基于时间的视听媒体的控制对象,支持播放: 本地 媒体文件 异步下载 媒体文件 HTTP Live Streaming协议的流媒体 文件 AVPlayer 是个 逻辑层组件 (应用可以分为如下几层) UI层业务逻辑层持久层+网络层 如果播放MP3或AAC等音频文件, …

    Learning AV Foundation, iOS开发, macOS开发 继续阅读

  9. NLP分词WordEmbeding

    前言学习过程中记录一下python代码 #!/usr/bin/env python# coding:utf8import sysreload(sys)sys.setdefaultencoding('utf8')# 加载包from gensim.models import Word2Vecfrom gensim.models.word2vec import LineSentence# 训练模型# sentences = LineSentence('wiki.zh.word.text')# siz …

    python开发 继续阅读

  10. 使用Python操作MySQL数据库

    前言为了实现不斷學習 與時俱進周末把大部分时间放在了学习Python上.在最近的学习中有一些有价值的部分都摘录整理出来放到博客上,以免后续用到的时候忘记时回来翻翻博客. 我是在study.163.com的这个《全栈数据工程师养成攻略》课程中学习的,推荐大家学习一下. 本篇主要内容主要分为三个大部分 搭建Web环境 数据库MySQL的使用方法 使用Python操作MySQL 搭建Web环境 Web环境: Apache、Nginx… Web服务启动中相关配置. Web环境: Apache、N …

    python, web开发 继续阅读