fir.im Weekly - 揭秘 iOS 面向协议编程

蚀纹组合
• 阅读 3672

本期 fir.im Weekly 重点推荐关于 iOS 面向协议编程相关文章,还有 iOS 多线程安全、Swift 进阶、Android MVVM 应用框架、Android 蓝牙实践等技术文章分享和工具源码分享~

『iOS / Android开发分享 』

面向协议编程与 Cocoa 的邂逅

“面向协议编程 (Protocol Oriented Programming,以下简称 POP) 是 Apple 在 2015 年 WWDC 上提出的 Swift 的一种编程范式。相比与传统的面向对象编程 (OOP),POP 显得更加灵活。结合 Swift 的值语义特性和 Swift 标准库的实现,这一年来大家发现了很多 POP 的应用场景。”

@onevcat 喵神整理了一下今年 MDCC 16 上的分享内容,基本是对面向协议编程的一些简单介绍和入门 demo,分为上下两篇。文章传送门

顺便说下@onevcat 的《Swift 进阶》(Advanced Swift) 中文版已经完成了对 Swift 3 的更新,点击这里可购买。

从 Swift 的面向协议编程说开去

@bestswifter 也分享了自己对面向协议编程的看法,搭配上篇喵神的一起看更美味, 链接见这里:)

iOS多线程到底不安全在哪里?

“iOS多线程安全的概念在很多地方都会遇到,为什么不安全,不安全又该怎么去定义,其实是个值得深究的话题”,@愚公编程MrPeak写的这篇文章帮你解惑,值得一看。

<img src="http://7xju1s.com1.z0.glb.clo... width = "100%" alt="fir.im" align=center/>

Swift高手进阶 - 11个技巧

也许你已经学习Swift几个月了,有没有想更进一步成为Swift高手的想法?简书作者豆志昂扬分享了11招秘技,来这里看看。

用 Swift 搭建一个微型编译器

@RealmChina在微博上分享:

“对绝大多数开发者来说,尽管我们每天都要与编译器打交道,然而实际上编译器对我们来说仍然像一个神秘的黑盒。Samuel Giddins 从头搭建了一个全新的微型编译器,用来编译他自制的一门编程语言,从而借此去学习编译器的基本工作机制。”

文章传送门

如何构建Android MVVM 应用框架

如何通过 DataBinding 去构建 Android MVVM 的应用框架的?View、ViewModel、Model每一层的职责如何?它们之间联系怎样、分工如何、代码应该如何设计?跟着 @美团点评技术团队 看看什么是MVVM,如何一步一步来设计整个MVVM框架,点击这里,浏览全文。

Tinker -- 微信Android热补丁方案

Tinker 是一个开源项目,它是微信官方的Android热补丁解决方案,它支持动态下发代码、So库以及资源,让应用能够在不需要重新安装的情况下实现更新,Github地址:tinker.

Android 上的低功耗蓝牙实践

这是@Android笔记 在 Droidcon Beijing 2016 和 GDG Devfest 2016 上做的关于 Android 上低功耗蓝牙的实践。全文阅读,点击这里

正方体样式的loadingView

@卐字旗下的余晖分享的正方体Loading效果,用 Android 代码实现并开源,Github 地址:and_cube_progress.

fir.im Weekly - 揭秘 iOS 面向协议编程

『 其他』

CI Weekly #5 | 微服务架构下的持续部署与交付

@风起云飞flowci最新一期的CI Weekly 整理了关于微服务架构下的持续部署与交付、自动化测试、DevOps相关的技术实践。如果你真好需要这方面的资源,订阅下 CI Weekly

程序员练级指北

@GcsSloop在 郑州GDG DevFest 活动上分享的内容,主要内容如何从零开始,并逐渐成长为一名合格的程序员,里面的内容是基于自身的经历和见解所书写的,感兴趣的去博客看看>>链接

_
这期的 fir.im Weekly 就到这里,投稿请联系 dm[at]fir.im.

欢迎分享更多的内容。

fir.im

点赞
收藏
评论区
推荐文章
blmius blmius
4年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Wesley13 Wesley13
4年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
待兔 待兔
1年前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Wesley13 Wesley13
4年前
java中比较两个时间的差值
项目背景1.某篇文稿的发布时间是publishDate,例如:2020072118:00:41。2.现要求判断该篇文稿的发布时间是否在近30天之内。publicstaticlongdayDiff(DatecurrentDate,DatepublishDate){LongcurrentTimecurrentDat
Jacquelyn38 Jacquelyn38
4年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
4年前
PhoneGap设置Icon
参考:http://cordova.apache.org/docs/en/latest/config\_ref/images.html通过config.xml中的<icon标签来设置Icon<iconsrc"res/ios/icon.png"platform"ios"width"57"height"57"densi
Stella981 Stella981
4年前
KaliTools说明书+BurpSuit实战指南+SQL注入知识库+国外渗透报告
!(https://oscimg.oschina.net/oscnet/d1c876a571bb41a7942dd9752f68632e.gif"15254461546.gif")0X00KaliLinux Tools中文说明书!(https://oscimg.oschina.net/oscnet/
Stella981 Stella981
4年前
JS 苹果手机日期显示NaN问题
问题描述newDate("2019122910:30:00")在IOS下显示为NaN原因分析带的日期IOS下存在兼容问题解决方法字符串替换letdateStr"2019122910:30:00";datedateStr.repl
Wesley13 Wesley13
4年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Python进阶者 Python进阶者
2年前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这
蚀纹组合
蚀纹组合
Lv1
路逐山光何处尽,春随草色向南深。
文章
3
粉丝
0
获赞
0