ios
文章平均质量分 82
杏树林
这个作者很懒,什么都没留下…
展开
-
iOS开发中宏的应用
标签: 宏 #define iOS开发什么是宏宏(#define)是一种抽象(Abstraction),它根据一系列预定义的规则替换一定的文本模式。一个标识符被宏定义后,该标识符便是一个宏名。这时,在程序中出现的是宏名,对于编译语言,在该程序被编译前,先将宏名用被定义的字符串替换,这称为宏替换,替换后才进行编译,宏替换是简单的替换。为什么要用到宏定义例如,在开发中,当我们在原创 2015-08-27 17:59:30 · 823 阅读 · 0 评论 -
Learning Swift 3.0 - 从精通到重新入门
前言API命名简化C式API替换GCD apiCore Graphics api大写开头的enum变成小写取消NS前缀参数label表现一致隐式解包可选ImplicitlyUnwrappedOptional类方法去掉了C风格的For循环去掉了柯里化语法去掉了 --语法Swift Package Manager前言Swift 3.0是 Swift 加入到开源社区以来,第一次发原创 2016-07-04 11:52:51 · 8156 阅读 · 0 评论 -
Effective Objective-C 2.0 读书笔记
第 1 章 熟悉 Objective-C第 2 章 对象消息运行时第 3 章 接口和 API 设计第 4 章 协议与分类第 5 章 内存管理循环引用普通的两个变量互相引用Block 循环引用NSTimer悬挂指针持有释放不匹配performselectorCoreFoundation - Foundationtry catch其他autoreleasepool blo原创 2016-06-06 12:27:32 · 5591 阅读 · 0 评论 -
Swift的协议默认实现
继承和组合的缺点带默认实现的协议小结继承和组合的缺点在开发工作中,继承总是用来在多个类之间共享代码。 设想一个场景,一个人类,可以说话和睡觉,而一个Worker,除了上述功能,还可以工作。 解决方案很简单,我们可以 Person 和 Worker 之间建立继承关系:class Person { func say() { print("hello") }原创 2016-05-09 11:52:07 · 6011 阅读 · 0 评论 -
将版本信息显示在App图标上
在测试App版本升级功能或者需要多版本切换的时候,可能需要经常去确定当前App的版本号,如果中途打断很有可能会忘记了当前的版本号,并且App内部如果没有显示版本号的功能,就只能从头来了。 如果能让App的版本信息直接显示到图标上,测试的时候是不是就会更加直观,更加效率,更加苏胡。 就像酱紫:怎么做呢?在Xcode中Target的Build Phases中,可以添加一个Run Script的Bui原创 2016-04-11 11:29:22 · 1343 阅读 · 0 评论 -
更聪明的搜索
人们已经越来越离不开搜索,搜索最大的目的其实就是让人在短时间内得到想要的东西,简单的说就是提升效率。使用App也是在提升效率,淘宝、京东提升购物效率,微信、陌陌提升射交效率,猎聘、拉钩提升招聘效率…iOS中的Spotlight已经不新鲜了,个人使用习惯的不同可能让有些人不知道她的存在,在手机存储暴增的今天,手机里不装个几百个App可能有点对不住你128G的存储了,但如果还滑来滑去的找应用那原创 2016-03-15 17:58:37 · 754 阅读 · 0 评论 -
iOS图片编辑(CIFilter)
在iOS中开发过程中,如果你想对图片进行简单的处理,那么很简单,苹果帮我们封装了一套简单易用的API——CIFilter。 使用CIFilter你可以做到:调节图片亮度、对比度、饱和度等图片基本的操作;使用模糊、锐化、高反差等对图片进行滤镜处理。一、基本概念1、CIFilterCategory图片处理的方式方法种类繁多,在CIFiler中是如何对这么多的图片处理方式进行归类的呢?苹果采用的是Ca原创 2015-11-30 11:23:47 · 1981 阅读 · 0 评论 -
iOS Runloop
什么是Runloop在iOS开发中,NSObject对象的两个方法performSelector:withObject:,performSelector:withObject:afterDelay 问后者afterDelay参数传0与前者有何异同? 要回答这个问题,就不得不提起Runloop。在没有Runloop机制的设计里,程序的流程是启动->执行任务->结束,而App为了持续捕获用户的输入、原创 2016-01-18 15:06:15 · 648 阅读 · 0 评论 -
iOS9 sqlite3 执行查询语句十分缓慢的解决方案
一、问题来源我所就职的公司是一家医疗互联网企业,作为一名iOS开发,目前我参与开发迭代的是一款面向医生用户的APP,这款APP的主要功能之一就是随手记病历,前不久我们的运营同学接到用户反馈,在病历数量较多(达到数千份),一些操作十分卡顿。 这个问题很容易就解决了(一些耗时操作卡住了主线程),不过在解决这个问题的过程中,反而发现了更大了一个问题,在sqlite中iOS8和iOS9执行一些相同的查询语原创 2015-12-28 10:54:43 · 1665 阅读 · 0 评论 -
JS与Native交互初识
本文将介绍iOS客户端UIWebView与JavaScript进行交互,实现数据传输,界面切换,控件显示等功能:需求背景交互方式简化操作UIWebViewJavaScriptBridgeCordovaUIWebViewJavaScriptBridge的使用需求背景客户端开发的优缺点: 优点: 交互流畅,交互性强,对于复杂手势和精彩动画的支持到位,可以给用户更好的交互体验.原创 2015-10-26 11:22:56 · 1498 阅读 · 0 评论 -
AppleWatch开发初探
目录 Apple Watch 简介 为什么要做Apple Watch App 基本概念 开始进行开发 iPhone App、WatchKit Extension和Watch App 三者的关系 主要类 WKInterfaceController WKInterfa原创 2015-09-07 17:45:04 · 2102 阅读 · 0 评论 -
WatchOS 2.0分析
前言Watch OS 2的新变化网络请求的变化SDK的Framework变动Extension Delegate与IOS App通信数据管理新增的特性视频播放音频录制音频播放ComplicationopenSystemURL使用钥匙链存储安全敏感的信息其他总结前言在上一期AppleWatch开发初探里,我们知道虽然AppleWatch是一个很优秀的产品,但是它的软件远没原创 2015-09-29 10:07:53 · 1670 阅读 · 0 评论 -
ios开发_Runtime
1.背景、定义1.1 Apple开源的Runtime代码1.2 Objective-C会尽可能的将编译要做的事情推迟到运行时。 Objective-C 语言不仅需要一个编译环境,同时也需要一个运行时系统(runtime)来执行编译好的代码。1.3 对于下面的简单方法:[receiver message];编译器将会转化为:objc_msgSend(receiver, selector)//无参数原创 2015-08-14 11:09:05 · 621 阅读 · 0 评论 -
iOS 给模糊加点动画
苹果从iOS 7 开始大范围使用模糊效果。为什么要使用模糊,当然是为了提高体验效果。虽然模糊能带给人非常清新的视觉体验,不过也切忌在你的App中过度使用,因为过度使用或者使用不当都会分散用户的注意力或者惹恼用户。在iOS 8之前我们在App中实现模糊效果可能还有些麻烦,但是也可以通过Core Image、vImage、GPUImage等工具库来实现,使用起来可能会有些复杂和一些性能问题。在iOS 8原创 2016-08-01 16:54:34 · 1006 阅读 · 0 评论