自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(78)
  • 收藏
  • 关注

原创 第一个开源库

AAMultiSelectController地址:https://github.com/aozhimin/AAMultiSelectControllerAAMultiSelectController provides a popup dialog which user can multi-select.it’s easy to use and integrate in your project.T

2016-09-27 12:47:14 651

原创 AutoLayout代码控制约束是否起作用

今天在做一个需求的时候需要在TableView动态控制约束是否起作用,NSConstraint这个类主要有三个方式实现:1.通过active设置,但这个只在iOS8.0以上能用2.7.0可以通过对这个约束所附加的'view来addConstraint和remove实现,这里有个小坑,从xib或sb拖出的IBoutlet的storeage必须设成strong,不然remove后就会变成nil

2016-05-27 16:38:43 708

转载 iOS到Android到底有多远

在iOS开发混了4年之后,又重拾荒废了4年的Android,感慨时间过得太快,有时间我会回顾下2010当年的iOS/Android平台的萌芽期历史;从重拾摸索,再到上线两个App,四五个月时间。这段时间的学习和研究,颇多冲击和体会,所以就有了这篇文章。本文主要从iOS转Android开发角度,对比两个平台应用开发的异同。希望对想学习Android开发的iOS开发者,或者想兼Android、

2016-05-17 17:48:33 1012

转载 iOS 开发者的 Android 第一课

随着移动软件工业的发展,一个移动产品只局限于 iOS 系统变得越来越不切实际。 Android 目前占有近 80% 的智能手机份额[^1],它能给一个产品带来的潜在用户量实在不能再被忽略了。在本文中,我会在 iOS 的开发范围内介绍 Android 开发的核心内容。 Android 和 iOS 处理类似的问题集,但在大部分问题上,它们都有不同的解决方式。通过本文,我会使用一个配套项目(在 

2016-05-17 16:32:53 752

原创 应用跳转之被苹果狠狠的坑了一把

原先的应用间跳转都是通过- (BOOL)application:(UIApplication*)application handleOpenURL:(NSURL*)url NS_DEPRECATED_IOS(2_0,9_0,"Please use application:openURL:options:")__TVOS_PROHIBITED;- (BOOL)

2016-05-17 12:51:22 3013 1

转载 巧用 Class Extension 分离接口依赖

Class Extension 和 Category 是我们经常使用的 Objective-C 语法:// Class Extension@interface Sark ()@end// Category@interface Sark (Gay)@end还记得最开始学习 Objective-C 时,并没有支持 Class Extensi

2016-04-26 12:48:57 448

转载 launch once 与 dispatch once

昨天发了个 launch once的 code snippet 陆续有朋友和我讨论,今天详细解释下。launch once 这段代码实现了在一个 Engine 对象生命周期内只能调用一次 launch 方法:而我们常用的 dispatch once 由于其使用了一个 static 变量作为 onceToken,所以会在

2016-04-26 12:47:52 639

转载 Objective-C Ivar Layout 探索

这次探索源于一个朋友问的问题,当我们定义一个类的实例变量的时候,可以指定其修饰符:@interface Sark : NSObject { __strong id _gayFriend; // 无修饰符的对象默认会加 __strong __weak id _girlFriend; __unsafe_unretained id _company;}@e

2016-04-26 12:47:13 454

转载 关于 weak 变量的一个奇怪问题

来自关注这个公众号的一个朋友(何哈哈...Newber)的留言提问,下面是简化的代码:这是个很有难度的问题,希望大家一起讨论下为什么会这样,之后我会发一下我的理解。

2016-04-26 12:46:46 632

转载 2015 Objective-C 新特性

Overview自 WWDC 2015 推出和开源 Swift 2.0 后,大家对 Swift 的热情又一次高涨起来,在羡慕创业公司的朋友们大谈 Swift 新特性的同时,也有很多像我一样工作上依然需要坚守着 Objective-C 语言的开发者们。今年的 WWDC 中介绍了几个 Objective-C 语言的新特性,还是在“与 Swift 协同工作”这种 Topic 里讲的,越发凸显这门

2016-04-26 12:46:09 352

转载 【Tip来3发】继续编译有Error的工程

当你把某个重要接口改了的时候,全工程将会有若干编译错误,但默认情况编译器遇到第一个错误之后就会停止Build,那么你就需要这个Tip:

2016-04-26 12:45:03 542

转载 【Tip来2发】快速定位方法调用者

一个非常实用的快捷键

2016-04-26 12:43:54 355

转载 【Tip来4发】快速在文件树视图中切换到当前文件

昨天出去玩了木有发,今天继续。之前也介绍过,一个必不可少的快捷键:

2016-04-26 12:43:22 553

转载 【Tip来7发】给@property设置断点

看图- -PS: 欢迎热心观众拨打屏幕下方的热线电话,推荐些Topic,要不我都不知道要发点啥了- -

2016-04-26 12:42:54 365

转载 【QA】在GCD中控制并发数

首先感谢下热心观众,回复了若干个问题,没办法一一解答(有的我也不知道额- -)请见谅。今天回复下@陈作君同学的提问:“dispatch_concurrent_queue怎么像nsoperationqueue一样控制其中任务的并发数”没理解错的话,应该指 NSOperationQueue 中的maxConcurrentOperationCoun

2016-04-26 12:42:18 1451

转载 【Tip来1发】去除Preferred Max Layout Width警告

去除Preferred Max Layout Width警告当 IB 中的 UILabel 的行数不是1,且 Deploy Target 小于iOS8时,很可能会遇到下面的警告:一个可行的解决办法是将 UILabel 这个属性设置成0

2016-04-26 12:41:42 441

转载 【Tip来5发】IB中设置多行文字

IB功能还是挺强大的,虽然有时候比较隐蔽:

2016-04-26 12:41:05 600

转载 Notification Once

前段时间整理项目中的AppDelegate,发现很多写在- application:didFinishLaunchingWithOptions:中的代码都只是为了在程序启动时获得一次调用机会,多为某些模块的初始化工作,如:- (BOOL)application:(UIApplication *)applicationdidFinishLaunchingWithOption

2016-04-26 12:40:21 507

转载 【搬运】实现一个有意思的TODO宏

实现一个能产生warning的TODO宏,用于在代码里做备忘,效果:下面一步步来实现这个宏。Let’s do it手动让编译器报警(报错)可以用以下几个方法:#warning sunnyxx#error sunnyxx#pragma message "sunnyxx"#pragma GCC warning "sunnyxx"#pr

2016-04-26 12:39:47 525

转载 【面试题解答】如何在一个对象释放的时候收到通知

上回书说到,不能子类化,不能KVO,不能替换这个对象的类,如何在这个对象释放的时候收到通知呢?用runtime的Associated Object机制可以做到。我们知道,被objc_setAssociatedObject 方法关联的对象,生命周期是和主对象相同的,即,主对象dealloc时这个associated的对象随后执行dealloc,利用这点我们

2016-04-26 12:37:54 1101

转载 黑魔法__attribute__((cleanup))

编译器属性__attribute__用于向编译器描述特殊的标识、检查或优化,几个常用的用法看《mattt大神的文章》就好。今天发现一个名为cleanup的黑魔法属性,简单介绍下。基本用法__attribute__((cleanup(...))),用于修饰一个变量,在它的作用域结束时可以自动执行一个指定的方法,如:// 指定一个cleanup方法,注意入参是所

2016-04-26 12:37:06 339

转载 一张图明白各个屏幕iPhone的渲染

见图:昨天写的介绍的blog: http://blog.sunnyxx.com/2014/09/10/iphone6-resolution/图片原文链接:http://www.paintcodeapp.com/news/iphone-6-screens-demystified

2016-04-26 12:36:32 417

转载 Int转NSString的高大上写法

有一个Int值NSInteger number = 123;要转成NSString,我们一般这么写:NSString *string = [NSStringstringWithFormat:@"%d", number]; 更高大上的我们可以尝试这么写哦:NSString *string = @(number).stringValue;

2016-04-26 12:35:50 3323

转载 iOS8初探 - Size Class

iOS8新特性,Size Class,是对老式UI思路的全新抽象:把各个设备屏幕(iphone4,5,6, ipad,iwatch?)以及它们的屏幕旋转状态都抽象成屏幕Size的变化,将这些Size归纳成几个类别(Class)宽(正常,任意, 紧凑),高(正常,任意, 紧凑)3x3共9种Size,每种Size都可以设置特定的一套布局,如果不特殊指定,默认是在(宽

2016-04-26 12:35:15 353

转载 JSPatch 实现原理详解

JSPatch 是一个 iOS 动态更新框架,只需在项目中引入极小的引擎,就可以使用就可以使用 JavaScript 调用任何 Objective-C 原生接口,获得脚本语言的优势:为项目动态添加模块,或替换项目原生代码动态修复 bug,目前在 github 上开源。微信 iOS 客户端使用了 JSPatch,本篇文章详细阐述 JSPatch 的实现原理和一些细节,以帮助使用者更好地了解和

2016-04-26 12:34:18 429

转载 携程移动App架构优化之旅

本文为携程移动开发总监陈浩然在2015年10月份的ArchSummit全球架构师峰会上的演讲总结。由于面向受众为架构师,因此不会涉及到很多技术细节。通过本文,你可以了解携程通过哪些手段来优化它的App架构的。    『携程旅行App』作为携程超级App产品,是公司全品类旅行产品的核心售卖入口,过去两年为了更好支撑无线业务的快速发展,携程移动App在产品和技术架构方面也做了大量的优化。

2016-04-26 12:33:36 3271

转载 解决常见的 masksToBounds 离屏渲染带来的性能损耗

日常生产中app布局离不开美丽的圆角(RounderCorner),特别是用圆角UIImageView来做数据呈现交互,但是这种柔和易于让人接受的视图效果并不仅仅是改变了一个形状那么简单,需要付出一定的性能代价。    相信这已经是总所周知的问题了,日常我们使用layer的两个属性,简单的两行代码就能实现圆角的呈现imageView.layer.cornerRadius =

2016-04-26 12:32:58 505

转载 iOS组件封装的思路和实现

前两天面试了一个应聘者,他的演示项目里有广告轮播功能。恰好之前我封装过一个实现了此功能的控件,于是就顺着他广告轮播的实现一直往下聊,从需求的抽象一直聊到各种实现的细节和需要考虑的问题等等。组件的封装是开发中比较有趣的一件事。今天我们就拿轮播控件举例,聊聊组件的封装。授人予渔先要授人予鱼。先给出鱼(PSCarouselView:https://github.com/DeveloperPans/PSC

2016-04-26 12:32:16 1594

转载 Facebook iOS 应用是如何加速图片显示的?

你的Facebook的动态消息中充满着一些关于你朋友、家人以及你所爱的人的照片,也许你会想要在手机上也能重温那些场景。我们一直在寻找提升用户体验的方式,包括更优秀和更快的移动端体验。为了达到这个目标,我们团队仔细研究了如何在 iOS 设备上更好更快得显示照片并最终找到了一种方法,能够让 Facebook for iOS 的数据开销降低10%,同时将照片加载显示的速度提升了15%。接下来的内容是

2016-04-26 12:31:14 948

转载 swift干货集整理

《iOS干货分享》精心为你整理出了比较high的swift干货。本文摘录自《Apple》《码农周刊》、《cocoachina》、《伯乐在线》、《CSDN》等等,感谢这些平台的支持。整理的内容如下:    1、swift介绍:    https://developer.apple.com/swift    http://zh.lucida.me/blo

2016-04-26 12:30:24 483

转载 【超强干货分享】蘑菇街App的组件化之路

本文为『移动前线』群在3月10日的分享总结整理而成,转载请注明来自『移动开发前线』公众号。嘉宾介绍蘑菇街李忠(花名银时,网名 limboy),多年客户端开发经验,目前主要负责移动端基础架构设计及核心技术难点攻克(以 iOS 为主),为集团所有 App 提供移动端解决方案。 热衷于尝试新技术,并在团队中推广,致力于以优秀的代码、新的理念拓宽工程师的思路和眼界,以提升团队整体作战能

2016-04-26 12:29:35 870

转载 iOS界面卡顿之离屏渲染

导读:离屏渲染在开发中带来界面卡顿问题一直让开发者们头疼.今天在这里写一遍关于离屏渲染的博文.希望大家有所收获现在的iOS开发越来越注重App性能和用户体验了.性能优化和内存管理是iOS面试中必问的两道面试题.也是编程中最难的部分之一要想知道如何解决界面卡顿问题,那你必须对离屏渲染有所了解要想成为一个高级iOS程序员,你必须学会如何性能优化,内存优化读懂了这篇文章,

2016-04-26 12:27:49 712

转载 React Native-目前最火的前端技术

文章摘要:一名程序员只用这一门技术,就可以同时写出androidapp,ios app,以及后台应用程序本文来自微信公众号“给产品经理讲技术”(pm_teacher),欢迎关注。做为一名产品经理,你是否遇到过这样的窘境,“帮我把字体调成 16号呗,颜色变成 #FFFF00FF,老大说这里最好改一下”,作为一名 app 的开发只能无奈但心里窃喜的告诉你,“只能等下个版本了,必须要重新发布

2016-04-26 12:26:59 602

转载 如何让用户觉得你的 app 加载速度很快

文章摘要:用户讨厌等待,如果你让用户觉得他们没有等待,那么他们就会喜欢你的App。编者按:本文作者 Nick Babich 在文中介绍了几种 “提高” 加载速度的方法。当我们设计产品的时候,我们没有办法模拟不同的加载速度。因此如果用户等待太长的时间才能看到内容,并不是我们特意的安排。网速不稳定,尤其是当我们加载图片或音乐时,时间会较长。在这种情况下,我们不得不考虑在这种间隙向用

2016-04-26 12:26:21 635

转载 Core Graphics框架学习之在图片上绘制文字

话不多说,先上效果图,此需求是图片上的文字可以更改,文字大小也可以更改。        iOS支持两套图形API族:Core Graphics/Quartz 2D和OpenGL ES,OpenGL ES属于跨平台的图形API,属于OpenGL的一个简化版。而QuartZ 2D是苹果公司开发的一套API,它是Core Graphics FrameWork的一部分。Core Graph

2016-04-26 12:24:23 762

转载 阿里无线11.11 之 Weex——关于移动端动态性的思考、实现和未来

什么是动态性今天在移动端,尤其是像手机淘宝这样的 app 中,动态性问题逐渐成为一个比较棘手的问题。所谓动态性,就是把移动应用本身的灵活性、迭代更新的周期和成本优化到极致。比如手机淘宝的店铺首页,它允许商家实时装修自己的店铺,更新自家的商品、活动等信息;再比如淘宝、天猫每次大促的会场页面,要求我们非常灵活的及时调整界面信息和状态,确保在瞬息万变的活动当天紧跟促销节奏,应对各种突发情况。

2016-04-26 12:23:00 565

转载 iOS应用架构谈 组件化方案

简述前几天的一个晚上在infoQ的微信群里,来自蘑菇街的Limboy做了一个分享,讲了蘑菇街的组件化之路。我不认为这条组件化之路蘑菇街走对了。分享后我私聊了Limboy,Limboy似乎也明白了问题所在,我答应他我会把我的方案写成文章,于是这篇文章就出来了。另外,按道理说组件化方案也属于iOS应用架构谈的一部分,但是当初构思架构谈时,我没打算写组件化方案,因

2016-04-26 12:21:38 510

转载 在 iOS 上开始创建你的虚拟现实应用

原文链接 : Getting Started | Cardboard | Google Sevelopers译文链接 : 在 iOS 上开始创建你的虚拟现实应用以前 Cradboard 也是支持在 iOS 上使用的,依靠 Unity 来实现,所以你需要用 C# 来编写 iOS app(听起来很奇怪对不对?) 而今天在 GDG China 看见 全新 VR 视图:让你的应用和网站

2016-04-26 12:20:45 702

转载 话谈 iOS 目录结构的划分

你的目录组织方式是这样:先按照页面分,然后再按照 MVC 来细分。往往业界有两种做法:先按业务划分,再按照 MVC 来划分先按 MVC 划分,再按照业务划分第一种的好处是把相应业务的代码放在一起,找特别好找,相应的 xib、model 和 ViewController 全在一个地方。在这些代码之间跳转特别方便。Telegram 非常大

2016-04-26 12:19:15 481

转载 iOS应用层架构之CDD

从2010年开始接触iOS开发到现在,折腾过不少app的架构。从MVC到MVVM,VIPER,MVP,以及最新的ReactiveCocoa都做过实战尝试,还有其他变种,诸如猿题库iOS客户端架构设计,也做过一些学习研究。这些技术概念如果不熟悉,建议每个链接都点开好好研读下,不要对你的大脑太温柔。在开始架构讨论之前,再推荐一些其他非常值得一读的文章:唐巧-被误解的 MVC 和被神化的 MVVM,

2016-04-26 12:18:14 798

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除