201602-18 iOS 内存管理 1.引用计数iOS的引用计数就类似于下图中进出办公室的开关灯流程。当一个人A进入前,办公室的引用数为0,进入后需要照明,因此开灯,引用数为1,B进入后,引用数为2,C进入后引用数为3,以此类推。A离开时,引用数-1,当最后一个人离开办公室时,引用数为0,不再需要照明,因此关灯。开关灯对应到OC对象的动作时,开灯=生成对象(alloc\new\copy\mutableCopy),需要照明=持有对象(retain),不需要照明=释放对象(rele... 继续阅读 >
201601-20 iOS开发-你能用到的面试题 PushNotification是如何工作的?推送通知分为两种,一个是本地推送,一个是远程推送本地推送:不需要联网也可以推送,是开发人员在APP内设定特定的时间来提醒用户干什么远程推送:需要联网,用户的设备会于苹果APNS服务器形成一个长连接,用户设备会发送uuid和Bundleidenidentifier给苹果服务器,苹果服务器会加密生成一个deviceToken给用户设备,然后设备会将deviceToken发送给APP的服务器,服务器会将deviceToke... 继续阅读 >
201511-05 iOS 和 Android 哪个更利于赚钱呢? 根据目前的各个平台的市场份额,iOS的环境无疑更适合赚钱。一直有一个几乎所有机友都认同的说法:Android是全球用户数最多的操作系统,市场份额十分惊人。无论是问你的表哥表姐,还是弟弟妹妹,即便他们不是很关注移动领域或不很懂手机,也会给你相同的答案,而且其中大多数人甚至会给予一个个数字,告诉你Android拥有约全球80%的市场份额。他们的回答并没有错,就算Android的市场份额明显小于80%,但从... 继续阅读 >
201506-28 细数iOS上那些你绝对不会注意到的神细节 iPhone的灵魂在于iOS系统,恐怕这一点只要是果粉就绝对会同意。但我们喜欢iOS系统,并不仅仅因为其强大的应用生态,也是因为苹果精益求精到了吹毛求疵地步的细节设计能力。正是因为这,一批又一批的iOS死忠才会源源不绝。甚至有些人用过iOS很多年,也未曾真正注意到那些让他们十分舒适的设计细节。今天,笔者就斗胆去和大家分享一下在使用iPhone过程中发现到的设计细节。这些细节有些考虑到了极致的美感,有些考虑到了极... 继续阅读 >
201506-11 WWDC总结:开发者需要知道的iOS 9 SDK新特性 WWDC2015苹果开发者大会是移动开发者一年一度的盛会,InfoQ中文站除了第一时间整理Keynote内容分享给大家之外,还邀请了资深的一线开发者分享他们的收获。本文为王巍(@onevcat)对WWDC上透露的iOS9SDK新特性的总结,分享给广大的iOS开发者。年年岁岁花相似,岁岁年年人不同。今年的WWDC一如既往的热闹,得益于Apple的随机抽选机制,这两年有更多的中国开发者有机会亲临现场进行体验,并与全球开发者取得更多的... 继续阅读 >
201504-07 10个 iOS 用户暂可以嘲笑 Android 的特点 Android 与 iOS 设备之间的争斗从未停止,毕竟一切高科技产品的理念和实际表现方式都不相同。就拿 Android 来说,很多功能令用户并不太开心,甚至是令人愤怒,下面让我们来简单的盘点 10 个 iOS 比 Android 优秀的特征。当然,这并不意味着 Android 比 iOS 差,因为每天让库克最为头痛的事情,就是每天都会有用户转投 Android,反之亦然... 继续阅读 >
201502-09 正则表达式在iOS中的运用 一、什么是正则表达式正则表达式,又称正规表示法,是对字符串操作的一种逻辑公式。正则表达式可以检测给定的字符串是否符合我们定义的逻辑,也可以从字符串中获取我们想要的特定部分。它可以迅速地用极简单的方式达到字符串的复杂控制。二、正则表达式的语法看一个过滤纯数字的例子-(BOOL)validateNumber:(NSString*)textString{NSString*number=@"^[0-9]+$";NSPredicate*numberPre=[NSPredicatepredicateWit... 继续阅读 >
201502-05 iOS开发简单的音频播放器 今天第一次接触IOS开发的UI部分,之前学Objective-C的时候一直在模拟的使用Target-Action回调模式,今天算是真正的用了一次。为了熟悉一下基本控件的使用方法,和UI部分的回调,下面开发了一个特别简易的音频播放器,来犒劳一下自己这一天的UI学习成果。在用到UI的控件时如果很好的理解之前博客在Objective-C中的Target-Action回调模式,感觉控件的用法会很顺手。下面的简易播放器没有用到多高深的技术,只是一些基本控件和View的... 继续阅读 >
201501-25 100个iOS开发/设计面试题大全 无论是对于公司还是开发者或设计师个人而言,面试都是一项耗时耗钱的项目,本文作者CameronBanga从编程、设计、AppStore等各个方面对iOS开发者及设计师在面试时可能会遇到的问题进行了筛选与汇总。一方面,能够帮助HR在短时间内获取更多反馈信息,更好地甄选合适人选,而iOS开发者及设计师在寻找相关工作时,也可作为参考,为面试做好万全准备。常见问题你昨天/这周学习了什么?你为什么热衷于软件开发?你对哪一种... 继续阅读 >
201501-08 Swift初始化的安全方式 我们在深入初始化方法之前,不妨先再想想Swift中的初始化想要达到一种怎样的目的。其实就是安全。在Objective-C中,init 方法是非常不安全的:没有人能保证 init 只被调用一次,也没有人保证在初始化方法调用以后实例的各个变量都完成初始化,甚至如果在初始化里使用属性进行设置的话,还可能会造成各种问题,虽然Apple也明确说明了不应该在init中使用属性来访问,但是这并不是编译器强制的,因此还... 继续阅读 >
201501-06 iOS开发的一些奇巧淫技 本文作者@叶孤城___,他结合自身的实践开发经验总结出了22个iOS开发的小技巧,以非常欢乐的语调轻松解决开发过程中所遇到的各种苦逼难题,光读着便已忍俊不禁。1.TableView不显示没内容的Cell怎么办?类似于图1,我不想让下面的那些空显示。很简单,添加“self.tableView.tableFooterView=[[UIViewalloc]init];”试过都说好,加完这句之后就变成了图2的样子。2.自定义了leftBarbuttonItem左滑返回手势失效了怎么办?... 继续阅读 >
201412-08 iOS 8 新特性介绍 随便去问任何人,他们都会告诉你WWDC2014是近年来最为激动的回忆。整个大会没有发布任何新硬件,它是一次史无前例的软件开发者盛宴!仅是iOS8和OSXYosemite的发布就能让2014成为苹果平台划时代的一年,加上Extension,Continuity,SpriteKit改进,iOSSceneKit,Metal,HealthKit,LocalAuthentication和全新的照片框架。更不用说,Xcode和InterfaceBuilder的明显改观,重新设计的iTunesConnect,TestFlight,崩... 继续阅读 >
201412-08 改改改!让应用通过审核出人头地的10个方法 日前,苹果在其开发者网站上列举出的会导致应用被AppStore拒绝通过的十宗罪,而其中,最主要的就是出现Bug,以及链接失效、描述不准确、存在误导用户等问题。对此,AudiobooksCEOSanjaySinghal给出了10大能让应用顺利通过审核并大放异彩的方法,以警醒开发者什么该做什么不该做,又有哪些亟需注意。1.一定要确保用户能找到你的应用!如果用户对你的应用一无所知,那么想要爆红基本是不可能的,所以,一定要有... 继续阅读 >
201412-08 iOS 8安装教程图解 苹果最新移动设备操作系统iOS8终于在今天开放下载。相较于iOS7,iOS8此次最大的变化包括苹果全新的健康应用、允许用户跨设备操作的连续性(Continuity)功能等。iOS8的整体软件外观与iOS7基本一致,不过,苹果在不少地方进行了微调,以更加方便用户进行操作。那么,如何将iOS8下载到自己的iPhone,请看下面的教程:1.不怕一万,就怕万一,先将iPhone进行备份。虽然出现问题的几率很小,但是为了确保万... 继续阅读 >
201411-29 学习使用NSURLSession 在iOS7中,苹果介绍了新的API——NSURLSession,这一系列的API是用来替代NSURLConnection的。 NSURLSession带来了这些新的好处:后台上传和下载可以暂停和继续连接网络保存配置子类化和私有存储改良的认证处理丰富的代理模型通过文件系统上传和下载作为一个iOS初学者的我,就不理NSURLConnection了,直接上NSURLSession ... 继续阅读 >