Core Data 笔记[上篇]
Core Data 应该被当成一个对象图管理系统来正确使用,得益于其内建的缓存和对象管理机制,它在很多方面比其他数据库实际上反而更快。抽象级别更高的 API 可以让你专注于优化 APP 里关键部分的性能,而不是从头一开始来实现如何持久化。
《Core Data》ObjC中国
本文为《Core Data by Tutorials》笔记上篇,代码用 swift 3 编写。等这系列写完会根据 ObjC 的《Core Data》 补充笔记,另外也推荐斯坦福课程 Developing iOS 9 Apps with Swift 中的第十课《Core Data》,用来大致地学习下 Core Data 重要的知识点,本文也有部分笔记参考了这课程。
下面的代码只给其中关键部分,请指教。由于笔记是给自己看的,部分地方可能会跳跃性比较大。
入门
Core Data 是 Apple 为 iOS、OS X、watchOS 和 tvOS 而设计的对象图管理(object graph management)和数据持久化框架。
entity 是 Core Data 中的类定义,也称为「实体」。例如一个雇员或一个 ...
用 Workflow 把知乎答案存到 Instapaper
随着 Instapaper 宣布免费,我开始尝试使用这款应用。这款应用很适合我,唯独抓取的时候对知乎支持不太好,有强迫症的我尝试解决它,其中比较有效的方法是:右上角菜单「Safari 打开」-打开阅读器视图-发邮件至 Instapaper 邮箱。但是这依旧有点麻烦了,我后来找到 Mercury 这个服务,并用 Workflow 解决了这问题。
Workflow 特点
支持知乎答案抓取(答案太短可能会抓取失败)
知乎专栏文章和其他网站直接原生添加到 Instapapaer
清除知乎答案内的知乎超链接跳转
前提
免费的 Workflow
在 Mercury 上免费注册个账号
注册 Mercury
Mercury 是一个免费的在线文本解析网站,允许我们提供网址并得到 JSON 格式的解析结果。我们需要使用它们的服务,所以要注册个账号得到 API KEY 来配置 Workflow 使用。
首先进入 Mercury ,点击右上角的「SIGN UP FOR FREE」。注册完成并验证邮箱后,就能看到你专属的 API KEY 了。
配置 Workflow
你可以在下面获取到我写的 Wor ...
macOS 上管理书的一些分享
在生活中,我时不时会买一些书,包括电子书和实体书。随着书籍的增多,我作为一个工具控也有着自己一套管理书籍的方式,在这里与大家分享。
本文不会涉及电子书解密与分享,仅作经验分享。
电子书
随着亚马逊的大力推广,我较关注的技术书也因其时效性多以电子书形式发布,电子书实际上占用了我生活中所购买书的一大部分。
下图是我所经历亚马逊一些较大的优惠,其中第二个限时优惠更是允许我不到 8 元买到四本接近百元的电子书(亚马逊药丸!!)。我也经常从图灵社区购买一些技术书籍,图灵社区提供的是未加密的电子书,加之一些网友也有分享自制的电子书,因此能很方便地放到不同工具中阅读和管理。
我们所经常遇到的电子书格式通常有 Mobi、Epub、PDF 等格式,阅读 PDF 我推荐使用 PDF Expert 2,其余类型电子书我推荐用 Clearview 阅读,epub 用 iBook 阅读也是不错的体验,Mobi 也能放到 Kindle for mac 上阅读。
豆瓣读书也提供了一个很好的管理书籍的平台,也方便书友写书评和交流。
Calibre
Calibre 是一款强大的免费开源电子书管理软件,支持 m ...
macOS 上的时间跟踪软件
时间统计法-不是一个节俭的计划工作者的预算,而是向时间自我剖析,对时间的崇敬。
《奇特的一生》格拉宁
今天在 Next 上发现又一款时间追踪软件横空出世了,所以对几个 macOS 上的时间追踪软件做个总结。近年以来,可以看到很多时间方面的应用遍地开花:Todo 类、番茄钟、备忘事项、日历等等,可以看出来人们对自己的时间越来越看重,如何掌握和使用好碎片时间,是当今一个热门的主题。而时间追踪类软件是其中一个较低调的类别,我目前遇到的大多是帮助你知道时间是如何花掉的,所以这类软件还需要一个会分析时间的使用者。
RescueTime
RescueTime 是一款易用的多平台时间追踪软件,支持 macOS、Windows、Android、Chrome、FireFox 等(iOS 版尚在开发中),它可以挂在电脑后台自动追踪时间,生成时间报表,Pro 版可以禁用消极网页、设定目标、设定提醒等。
我曾经在 V2EX 社区上发起过一次调查:你会为什么样的网络服务付费?,其中 RescueTime 也能占一席之地,我认为这是能代表一些东西的。
如图可以看到 RescueTime 把你的行为分成几 ...
用JSONExport一键生成JSON Model
以前跟着《第一行代码》入门 Android 的时候,学过几个解析 JSON 的方法,一个一个按 key 名找、建对象存等等,解析的工具也很多,以前对 JSON 不熟悉,这也浪费了我很多时间。现在刚入门 iOS 没多久就让我看到神器 JSONExport,解析 JSON 从此只是几行代码的事情~
JSONExport 是一个运行在 macOS 上通过 JSON 字符串转为 model 的开源工具,支持 Java、Objective-C 和 Swift。我发现了这工具之后忍不住用 Charles 到处抓 API 测试,这是后话~
每次学完了都觉得很基础…还是记下来吧…
工具
JSONExport 的项目地址在这:JSONExport
不过项目需要自己编译,嫌麻烦的可以直接下载我汉化好的 JSONExport ,如果失效请在评论留言,下面是界面:
左边把 JSON 字符串放入,右下角选择要生成的 Model 即可。
使用
这里我使用豆瓣图书 Api V2的 API 做示范。
根据提供的 API ,假如我想获得十个书名为"ios 开发"的书籍名,可以构建 URL 为&q ...
Swift 算法查找篇笔记
未完工
尚缺 k-th Largest Element、Selection Sampling、Union-Find
简介
这是一系列关于Swift语言的算法笔记,Swift版本为3.0,参考的教程来自 Swift Algorithms Club 。
所有的代码可以直接在Xcode的Playground中运行,前面的算法较简单,主要说说算法的基础、思路和一些Swift语言的特性,我十分推荐你把这里的算法独自实现一遍。
另外这里可以下载 Swift Algorithms Club 算法教程的Epub文件! 点我下载
大 O 符号
大O符号(英语:Big O notation)是一种算法复杂度的相对表示方式。
这个句子里有一些重要而严谨的用词:
相对(relative):你只能比较相同的事物。你不能把一个做算数乘法的算法和排序整数列表的算法进行比较。但是,比较2个算法所做的算术操作(一个做乘法,一个做加法)将会告诉你一些有意义的东西。
表示(representation):大O(用它最简单的形式)把算法间的比较简化为了一个单一变量。这个变量的选择基于观察或假设。例如,排序算法 ...
打造属于自己的RSS源
阅读是一个主动寻求知识的过程,在如今碎片信息充斥着我们生活中的时代,我们需要清楚自己想要获取什么,把有限的时间放在消化信息上,而不是放在获取信息的途径上。如今我们可以通过各种 APP、公众号、聚合信息网站获取相对大众并符合自己的信息,但也有缺点:我需要下载这么多个 APP 去看新闻和文章吗?这些网站就拥有所有我想知道的吗?当然,像「即刻」、「Flipboard」这种阅读聚合类应用适当地缓解了这样的矛盾,但是这些信息源真的已经足够适合自己了吗?当初我找到了解决方法,也一直使用到现在,这个方法就是订阅 RSS 源。
本篇文章将简介 RSS,初步订阅适合自己的 RSS 源,并对于一部分不提供 RSS 订阅的网站,我们为其创建 RSS 源并订阅。
RSS
RSS(Really Simple Syndication,简易信息聚合)是一种消息来源格式规范,表达了「聚合真的很简单」这样的愿景,我们可以将其看作是一种定制个性化推送信息的服务。
macOS 客户端
我推荐 Reeder 3,因其功能足且美观,还支持iOS平台,付费。
另外 Leaf 也不错。
Windows 客户端
自己不使用 Wi ...
Hexo 博客补丁
本博客部分修改内容
注:原文的主题为 Next,现在在使用 Even,所以配置可能有些地方不一样。
小建议
hexo new "标题" 的时候尽量取英文标题,在文章中再用 title: 指定中文标题,这样未来改标题好改,相应文章的多说评论也不会消失。
Github Pages 中增加 README.md
很多朋友的 hexo 博客都是建在 Github 上的,作为一个项目,README.md文件能够在 Github 上介绍博客的一些信息,但是贸然把文件放到 source 文件夹中会被 hexo 检测并转为 html 文档,我们在站点配置文件中跳过即可。
12skip_render: - README.md
网站底部字数统计
安装 hexo-wordcount
npm install hexo-wordcount --save
在(博客主目录)/themes/next/layout/_partials/footer.swig中最后加上
1234<div class="theme-info"> <div class=" ...
利用iPad Pro学习方面的探索
前几天趁着Apple教育优惠买了9.7inch的iPad Pro 附送耳机,还买了个smart cover。昨天在香港剁手了Apple pencil,对深挖iPad Pro潜能做了些探索,在这里总结下。
iPad Pro是否有必要买?
这个问题其实要从产品定位说起。对于我而言,我已经有iPhone 6 、Macbook 和 Kindle,我买了iPad Pro,就是想让它承担一些三者都不擅长或不方便的事情,例如看电子书,其中PDF为主(kindle对pdf体验差、我也不会在外出的时候带Macbook看,手机屏幕太小)、看视频(四个喇叭,大屏幕,爽!)、玩游戏(自己不太玩)、轻量的文字编辑(我没买键盘,因为觉得买了不如直接带Macbook)、手写笔记(本帖主题)、图片处理和绘画(真的很惊艳)等等。总而言之就是“带出去不麻烦的重量”+“一本书的大小”+“iOS系统”+“众多精致优秀的应用”。如果你觉得这些优点你愿意花五千多换取,那么你就不会买回来再抱怨iPad Pro也就那样。另外我入手的是128G,32G很容易满的相信我!
考虑到 iPad Pro 过剩的性能,如果没有触控笔的需求, ...
iOS学习资源集合
总结个人在学习 iOS 的过程中遇到的精品资源,包含书籍、视频、网站等,一切等待我去探索的好物,主要以Swift 3.0为主。
视频
视频
简介
Developing iOS 10 Apps with Swift
斯坦福白胡子老爷爷最新的 iOS10 和 Swift 3.0 课程。创建于 2017年1月24日,预计时长9周。
Developing iOS 9 Apps with Swift
斯坦福白胡子老爷爷的 iOS9 和 Swift 课程,现在 GitHub 只翻译到第三节课。
Developing iOS 8 Apps with Swift
斯坦福白胡子老爷爷的 iOS8 和 Swift 课程,已经翻译完成 GitHub
SwiftV课堂
国内一个Swift视频学习站
pomo.tv
国外一个收集关于Mac、iOS 和 Swift视频的网站
Principle UI/UX Animation Tutorials
SketchTV 在 Youtube 上录制的 Principle (交互原型设计软件) 视频,Principle 相关中文文档,官 ...