• Swift协议与关联类型

    在Swift语言当中,泛型(Generic)和协议(Protocol)都是非常重要的语言特性。使用泛型让你能根据自定义的需求,编写出适用于任意类型的、灵活可复用的函数及类型。你可以避免编写重复的代码,而是用一种清晰抽象的方式来表达代码的意图;使用协议能够让你设计一个蓝图,遵循协议的具体类型,帮助你实现某一特定的任务或者功能的方法、属性,特别是协议可以作为类型使用,使其具有了动态派发的能力;本文将讨论Swift协议(Protocol)中特殊的关联类型(Associated Types),它与泛型(Generic)有相似性和又有区别。为了简化文字描述,后续将带有关联类型的协议(Protocol With Associated Types),简称为关联协议;而把普通的不包含任何关联类型的协议(Plain Protocol)简称为普通协议

  • 理解GPUImage2中Pipeline核心原理

    GPUImage是知名的图像处理开源框架,本篇文章以Swift版本的GPUImage2为分析对象,以GPUImagePipeline的处理流程为线索,分析其核心的实现流程设计理念,使得我们不但能够理解其核心原理,也能够从中获得有益的经验,运用到自己的编程设计中。

  • OpenGLES iOS 纹理渲染教程三

    OpenGLES是 OpenGL 的子集,针对手机、PDA 和游戏主机等嵌入式设备而设计。本系列文章以iOS平台进行纹理渲染为实践目标,在查找了大量资料后进行整理而得,本篇是系列的第三篇。

  • OpenGLES iOS 纹理渲染教程二

    OpenGLES是 OpenGL 的子集,针对手机、PDA 和游戏主机等嵌入式设备而设计。本系列文章以iOS平台进行纹理渲染为实践目标,在查找了大量资料后进行整理而得,本篇是系列的第二篇。

  • OpenGLES iOS 纹理渲染教程一

    OpenGLES是 OpenGL 的子集,针对手机、PDA 和游戏主机等嵌入式设备而设计。本系列文章以iOS平台进行纹理渲染为实践目标,在查找了大量资料后进行整理而得,本篇是系列的第一篇。

  • 如何做技术面试

    笔者作为技术团队管理者,参与了上百场的技术面试,也多次参与跨团队的交叉面试,在这个过程中,不断在从外界资源学习如何做好技术面试,同时也在与面试者接触的交谈之间,思考如何总结经验,在有限的时间内,选拔到优秀的人才,下面这部分内容就是对内部初级面试官的培训分享。

  • 使用Swift新方法解决依赖注入

    借鉴了SwiftUI中@Environment属性包装器的方案;属性包装器允许注入依赖项并减少实现端的代码混乱。不需要大的初始值设定项,并且仍然有可能覆盖测试的依赖项。属性包装器还可以明确注入哪些属性,这可以提高可读性。

  • Using Swift API availability to solve App Extension Compiled Error

    Starting from Xcode12.5, Apple requires that all Extension Targets must set APPLICATION_EXTENSION_API_ONLY to true, otherwise it will cause a compilation error “Application extensions and any libraries they link to must be built with the APPLICATION_EXTENSION_API_ONLY build setting set to YES”; but we Framework or other methods are usually used to share code between the main project and the extension. These codes use non-extension-only APIs, which leads to problems. This article will discuss how to solve this problem.

subscribe via RSS

本站访问量