东亚银行、岚图汽车带你解锁 AIGC 时代的数字化人才培养各赛道新模式! 了解详情
写点什么

iOS 开发周报:苹果诺基亚专利大战最终和解、用 Swift 中的单向数据流来替代臃肿的视图控制器

  • 2017-05-30
  • 本文字数:1164 字

    阅读完需:约 4 分钟

新闻

  1. 苹果诺基亚专利大战最终和解:据外媒报道,诺基亚与苹果宣布就专利纠纷达成和解,并签署一项多年有效期的专利许可协议。12 月 21 日,诺基亚在美国和德国起诉苹果,苹果随即以在零售店下架诺基亚旗下的健康产品还击。如今两家公司通过和解重归于好,并签署了一个“专利许可商业合作”协议。
  2. 苹果无人车上路再被拍,装备已经升级:苹果已在三部雷克萨斯 RX 450h SUV 上测试自己的自主驾驶软件。当地时间 22 日上午,外媒 MacRumors 的读者拍下一辆经过苹果改造的 SUV 上路行驶的视频。视频中可以看到这辆 SUV 配备多个传感器和摄像头,在路上很是显眼。它使用顶级的 Velodyne 64 信道光学雷达(LiDAR),并用了至少两部雷达和若干摄像头进行导航。

教程

  1. 用 Swift 中的单向数据流来替代臃肿的视图控制器:许多 iOS 开发者经常会写出所谓的“臃肿视图控制器”,这往往是过度遵循 MVC 架构的准则导致的。人们提出了不同的方法来避免这个问题的发生,包括使用其他架构。在本次讲座中,Benjamin Encz 将在本文阐述如何在 Swift 中使用 Redux 和 Flux 这两个最受欢迎的架构进行设计。Flux 强制让数据流变为单向的 (unidirectional),从而减少不必要的复杂代码。我们将会看到,用 Swift 实现这个理念会带来怎样有趣的结果。
  2. 手机端运行卷积神经网络的一次实践 – 基于 TensorFlow 和 OpenCV 实现文档检测功能:本文通过一个真实的产品案例,展示了在手机客户端上运行一个神经网络的关键技术点。除此之外,本文还介绍了如何裁剪 TensorFlow 静态库以便于在手机端运行,如何准备训练样本图片,以及训练神经网络时的各种技巧等等
  3. Hello Bonjour! :如何能在本地网络找到自己想要的硬件设备及相应服务,并连接?在这个以 IP 协议进行通信的互联网世界, 我们的计算机与移动设备都需要一个唯一 IP 作为标示。很多时候,我们希望可以在本地网络获得可用服务的列表,而不需要知道每个服务的 IP 地址、端口。但是我们不想去经过复杂繁琐的网络配置后才能直接获取本地网络在线的服务。本文通过一个真实的项目来逐步探索,简单介绍了项目对本地网络连接的需求:用电脑发现本地网络中所有可供调试的 iOS 设备。
  4. Adding Playgrounds to Xcode Projects :有时我们想要用 Playgrounds 写一些试验代码,但有时我们需要基于一些非系统的 Framework ,本文介绍了如何添加一个 Playground 并支持访问 Project 中的 Framework 。

开源项目

  1. Spry :使用 Spry 你可以在 Playground 写测试了。
  2. RSLoadingView :精美的 Loading 组件。
  3. MacAssistant :Google Assistant for macOS。
  4. MarkdownView :基于 WKWebView Markdown 渲染组件。
  5. Mark :生成 MARK Xcode 插件。

感谢徐川对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-05-30 19:001964
用户头像

发布了 41 篇内容, 共 82627 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

架构实战营模块 2 作业

zlz

Python OpenCV 图像开闭操作,图像处理取经之旅第 39 篇

梦想橡皮擦

7月日更

WICC 2021即将召开 荔枝将揭秘高音质体验之关键技术

融云 RongCloud

微信朋友圈高性能分析

十二万伏特皮卡丘

架构训练营

DAPP系统源码模式开发定制

获客I3O6O643Z97

DAPP智能合约交易系统开发 DAPP系统开发

模块2作业G20210698020270

哆啦A萌

微信朋友圈的高性能复杂度分析

tjudream

架构 高性能 朋友圈

架构实战营模块二作业

A-领悟 Lifetruth‖

#架构实战营

Rust从0到1-并发-状态共享

rust 并发 Concurrency 状态共享 Shared-State

Pandas高级教程之:window操作

程序那些事

Python 数据分析 pandas 程序那些事

产研效率提升-工具篇-消息中心

循环智能

效率 方法 工具 流程 消息

Netty浅析

CodeWithBuff

Java Netty 源码剖析 I/O

白林学院校友会小程序前端和后台管理系统设计方案

CC同学

校友录小程序 校友会小程序 同学录小程序

Vue进阶(四十三):Vuex之Mutations详解

No Silver Bullet

Vue 7月日更 mutations

秘乐魔方短视频系统开发简介

获客I3O6O643Z97

短视频挖矿

调研字节码插桩技术,用于互联网分布式系统监控设计和实现!

小傅哥

Java asm javaagent 字节码增强 系统监控

PHA挖矿系统源码开发介绍

获客I3O6O643Z97

PHA矿机挖矿 PHA质押挖矿

史上最全关于苹果开发者账号及上架APPStore总结

孙叫兽

苹果 APP开发 appstore app上架

模块二作业 微信朋友圈高性能复杂度分析

君子意如何

「架构师训练营第 1 期」

Vue进阶(九十七):对象动态添加属性和值

No Silver Bullet

Vue set 7月日更

架构训练营模块二作业

以吻封笺

手写插入排序算法

实力程序员

程序员 算法 排序 实力

【Flutter 专题】82 初识 Flutter Stream (二)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 7月日更

浪潮云洲走进包头 展示特色产业“触网”路径

浪潮云

工业互联网

带你了解两种线性规划的方法:稀疏矩阵存储和预处理

华为云开发者联盟

矩阵 存储 线性规划 稀疏矩阵 预处理

【LeetCode】最高频元素的频数Java题解

Albert

算法 LeetCode 7月日更

模块二作业

秀聪

架构实战营

在线教育,百鬼夜行?

白洞计划

Go语言,并发控制神器之Context

微客鸟窝

Go 语言

ACM金牌选手算法讲解《线性表》

编程熊

算法 LeetCode 线性表 数据结构与算法

超好玩:使用 Erda 构建部署应用是什么体验?

尔达Erda

开源 DevOps 云原生 PaaS Go 语言

iOS 开发周报:苹果诺基亚专利大战最终和解、用 Swift 中的单向数据流来替代臃肿的视图控制器_Android/iOS_靛青K_InfoQ精选文章