摘要:这里包括了Queue, Group, Barrier, Semaphore等内容。基本上常用的GCD对象和方法在Swift3.0的改变都囊括其中。 代码在这里:https://github.com/future challenger/Swift3.0/tree/master/GCD This pro
阅读全文
摘要:经历了从swift 1.0 到2.0,一个版本之后代码居然就不兼容了。这如何在团队推广呢?没有想到3.0居然变化更加的大。有多大,来体会一下: 在swift 2.x的时代基本上ObjC的接口是什么样的,那么swift的方法名称也是一样的。 在swift发布的时候,其实很多人都发现其语法有很多脚本语言
阅读全文
摘要:用一个很简单的场景做为例子:在storyboard上,你有用UINavigationController串起来两个UIViewController。这两个controller之间要互相跳转,A->B, B->A。跳转的时候默认的那个push来push去的效果你觉得很傻X,所以想换一个效果。比如,不那
阅读全文
摘要:本文的例子和Swift版本是基于Xcode7.2的。以后也许不知道什么时候会更新。 我们要干点啥 用新浪微博的Open API做后端来实现我们要提到的功能。把新浪微博的内容,图片和文字展示在collection view中。本文只简单的展示内容。下篇会用pinterest一样的效果来展示这些内容。
阅读全文
摘要:跟不上时代的人突然间走在了时代的前列,果然有别样的风景。首先鄙视一下AFNetworking。这个东西实在太难用了。不想封装都不行,要不写一大堆代码。 NSURL *URL = [NSURL URLWithString:@"http://example.com/resources/123.json"
阅读全文
摘要:一直木有看过这个细节,用UserDefaults是能不能存复杂一点的对象。大家可能都看到过UserDefaults的一个方法setObject: forKey:,用这个方法存过NSDictionary,NSArray什么的,也存过字符串。偶然一次直接存了一个继承自JSONModel的实体类,然后就悲...
阅读全文
摘要:为什么要用GCD-Swift2.x当今世界,多核已然普及。但是APP却不见得很好的跟上了这个趋势。APP想要利用好多核就必须可以保证任务能有效的分配。并行执行可以让APP同时执行很多的任务。这个其实很难,但是有了GCD一切都变得简单了很多。你并不是一定要写一个大并发的APP才需要用GCD。使用GCD...
阅读全文
摘要:WWDC2015的明星是Swift。在Swift语言到2.0以后会被开源,这其中包括了protocol扩展和一个新的错误处理API。 苹果的小baby已经长成,并且意料之中的获得了开发者的关注。但是在iOS开发中Object-C并不会很快的推出历史舞台。 并且在WWDC2015中介绍了ObjC的一个...
阅读全文
摘要:打开之前会发生什么呢,先看看这个图:我这里只是简单模拟了一下。当你输入一个特殊的“url”之后,Safari弹出一个提示,问你是否继续打开这个App。如果你这个时候confirm的话。那么这个App就会打开。我们打开看看这个app是什么样的App。看图:是一个灰常简答的TableView。然后点击某...
阅读全文
摘要:代码环境是Xcode6.3-Beta3.Swift已经极大的改变了开发iOS应用的方式。本文中,我会列出Swift的几个重点,并且和Objective-C一一做出对比。注意,本文不是Swift的入门指导。苹果发布了Swift Programming Language,强烈建议您读一读这本书。文本主要...
阅读全文
摘要:我们使用Swift这个苹果新推出的编程语言已经有一段时间了。其中的一个极大的优点就是苹果称为“optional types”的东西。几乎所有的objective-c程序员都知道用nil来表示某个引用类型的对象是没有值的。但是要把nil和某个变量的类型联系起来还是有些牵强。这里,我们就来介绍一下Swi...
阅读全文
摘要:这个只要一行代码就搞定了。详细请看:In order to get the right frame/bounds of your UIImageView after resizing, you need first ask auto-layout to update that layout usin...
阅读全文
摘要:闭包在Swift中非常有用。通俗的解释就是一个Int类型里存储着一个整数,一个String类型包含着一串字符,同样,闭包是一个包含着函数的类型。有了闭包,你就可以处理很多在一些古老的语言中不能处理的事情。这是因为闭包使用的多样性,比如你可以将闭包赋值给一个变量,你也可以将闭包作为一个函数的参数,你甚...
阅读全文
摘要:Xcode6.3和Swift1.2都已经发布。这次发布增强了Swift编译器也给Swift增加了一些新的特性。详细内容可以看这里。这里主要关注比较重要的内容。编译器的改进Swift1.2的编译器更加的稳定,各方面性能都有所提升。这些改进让使用Swift开发体验更好。某些可见的更新包括:增量编译-没有...
阅读全文
摘要:匿名社交应用Secret的开发者开发了一款叫做Ping的应用,用户可以他们感兴趣的话题的推送。Ping有一个很炫的东西,就是主界面和之间切换的动画做的非常的好。每次看到一个非常炫的动画,都不由得会想:“这个东西我要不要自己实现以下”。哈哈~~~这个教程里,你会学到如何用Swift实现这样的很酷的动画...
阅读全文
摘要:最近木事,找出来玩了玩facebook的paper。到处都是那个"slide to unlock your phone"的效果啊。忽闪忽闪的小有点炫酷的感觉。于是准备研究一下。木有想到的是居然可以用CAGradientLayer和一个小小的动画就可以实现这个效果。“滑动解锁”的效果:当然啦,首先你需...
阅读全文
摘要:今年苹果推出的iOS8和Swift的新功能让人兴奋。同时,苹果对于Xcode的测试工具的改进却也会影响深远。现在我们来看下XCTest,Xcode内置的测试框架。以及,Xcode6新增的XCTestExpectation和性能测试。现在Xcode项目已经支持out-of-the-box的测试。比如,...
阅读全文
摘要:本文翻译自:http://www.objc.io/issue-13/mvvm.html。为了方便读者并节约时间,有些不是和文章主题相关的就去掉了。如果读者要看原文的话可以通过前面的url直接访问。作者也是做了iOS多年,从大学一直到现在n多年了。对于开发一款有B格的APP很有追求。学习了很多的东西,...
阅读全文
摘要:调试的时候打断点太慢,所以输出log就是一个很好的选择了。断点,一行一行的按,太麻烦了。从log里一条一条的看,很快就可以找到到哪个函数的哪个地方这个代码就没执行了。这里不详细讨论调试技巧的事。不过大概就是这个样子。但是,输出的log你只想在调试的时候看。在正式发布的版本里,那些东西你给谁看,而且语...
阅读全文
摘要:Objective-C的构造函数吧,就最后return一个self。里头你要初始化了什么都可以。在Swift的init函数里把super.init放在前面,然后再初始化你代码里的东西就会报错了。所以:init(frame: NSRect) { super.init(frame: frame) ...
阅读全文