仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1498|回复: 12
打印 上一主题 下一主题

[学习教程] IOS编程之清点开辟者最喜好的Swift技能仓酷云

[复制链接]
萌萌妈妈 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:26:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
还有很多工具需要学iOS5的SDK已经支持ARC可以自动进行release但是对iOS4的支持还有一个小问题现在要开发应用可能还需要按照之前的MRC的方式allocreleaseretainautorelease之类的内存管理方法屈指算来,Swift言语才公布半年摆布,却已深得浩瀚开辟者的喜爱,也有了许很多多的进修资本、项目和工具。在本文中,来自objc.io、LinkedIn等各个公司的软件工程师及资深开辟者总结了本人在打仗Swift过程当中最喜好的贴士与技能,有些技能即便是很早就进坑Swift的开辟者都不晓得,无妨一同来懂得一下吧。
NatashaMurashev——CapitalOneiOS工程师、NatashaTheRobot博主
当我在构建iOS使用时,Swift可以同意更多的函数式编程办法,以是,为了能在改良Swift代码时做出更好的决议,我一向在进修函数式编程。迄今为止,我最喜好的函数方面的Swift资本有:


  • 功效型函数——能轻松变动函数,让代码更自力、可测试。
  • 包装范例——我喜好用可读且平安的范例别号来编写代码。
  • 范例计划——在计划程序时年夜幅利用准确的范例,有益于编译器调试。
  • Swift中柯里化函数的使用——在Haskell中,某品种型的函数指针只能指向特定参数范例和数量和前往值范例的函数,而Swift则同意“currying”或部分使用函数,从而完成代码块可反复利用。
  • Swift奇奥的不对处置——与Objective-C比拟,我出格喜好这类复杂、可读性强而又平安的毛病处置体例。
  • 面向对象编程中转车——它为在代码中举行毛病处置供应了一种最快速的体例,于程序猿而言,最幸运之事莫过于此。
  • Swift函数式编程——这是一本关于Swift函数对照深度的书本,我每次从头读过期城市发明纷歧样的点,十分合适想要深切研讨Swift函数和怎样将其使用到iOS代码中的开辟者们浏览。
ChrisEidhof——objc.io开创人、《Swift函数式编程》作者
疾速排序(Quicksort)——Swift中的疾速排序完成能够说是前无前人后无来者,年夜多半Quicksort完成都需利用流动的内存,而Swift则能以最简便明晰的程序完成快排:

  • funcqsort(input:[Int])->[Int]{
  • iflet(pivot,rest)=input.decompose{
  • letlesser=rest.filter{$0<pivot}
  • letgreater=rest.filter{$0>=pivot}
  • returnqsort(lesser)+[pivot]+qsort(greater)
  • }else{
  • return[]
  • }
  • }
AustinZheng——LinkedIn初级软件工程师
我以为,精巧的Swift技能应该云云:开辟者能够经由过程创立一个已界说尺度类的闭包来为匿名类实例设置托付,而闭包则将前往该类的一个新实例,并运转。示例代码以下:

  • importFoundation
  • protocolSomeDelegateProtocol:class{
  • funcfirstFunc()->String
  • funcsecondFunc()->Bool
  • }
  • classMyClass{
  • weakvardelegate:SomeDelegateProtocol?
  • }
  • classParent{
  • varchild:MyClass
  • varstrongDelegate:SomeDelegateProtocol?=nil
  • funcsetup(){
  • strongDelegate={
  • //[self]//Originalversionhadthisnotcommented;itscommentedtoletpeopleknowitwasatypo
  • classSomethingClass:SomeDelegateProtocol{
  • funcfirstFunc()->String{return"foo"}
  • funcsecondFunc()->Bool{returntrue}
  • }
  • returnSomethingClass()
  • }()
  • child.delegate=strongDelegate
  • }
  • init(){
  • self.child=MyClass()
  • self.setup()
  • }
  • }
  • varbleh=Parent()
  • varresult=bleh.child.delegate?.firstFunc()
  • println("Got(result!)")
ClaySmith——PagerDuty初级软件工程师
上面是我在处置一切Xcode成绩(特别是sourcekit)时所利用的最基础的Bashalias(命令别号),用来删除Xcode中的DerivedData:

  • aliassourcekitsad=rm-rf~/Library/Developer/Xcode/DerivedData
MichaelHelmbrecht——MotivUX计划师兼iOS开辟者
于我而言,最喜好的一点应当是Swift能在String范例和NSString范例中主动转换,当没法打印String时,经由过程间接挪用NSString的-description办法便可完成。
DavidKobilnyk——ShopRunner软件工程师
作为一门编程言语,我以为Swift还不敷文雅,而我也并没有发明甚么太出格的技能,只是很喜好原始范例、列举一同利用,就像如许:

  • publicenumReminderTimeType:String{
  • caseEvening="thisevening"
  • caseTomorrow="tomorrow"
  • caseWeekend="thisweekend"
  • caseNextWeek="nextweek"
  • caseCoupleWeeks="inacoupleweeks"
  • caseCoupleMonths="inacouplemonths"
  • caseSomeday="someday"
  • publicstaticletarray=[
  • Evening,Tomorrow,Weekend,NextWeek,CoupleWeeks,CoupleMonths,Someday
  • ]
  • publicstaticletrawArray=array.map{$0.rawValue}
  • }
AlexisGallagher——初级iOS开辟者
要说我最喜好的Swift技能,应当有两个,一个是在REPL中,handy函数可间接用于猎取表达式静态范例,而想要猎取恣意实例值的范例称号则可间接挪用_stdlib_getDemangledTypeName。

  • functypeof<T>(@autoclosure()->T)->Any.Type{returnT.self}
JPSimard——RealmiOS工程师
开辟者能够间接利用nm工具经由过程libswiftCore.dylib来猎取一切公有的Swift尺度库函数,好比_stdlib_getTypeName()、_stdlib_demangleName()和_stdlib_conformsToProtocol():

  • cd`xcode-select-p`/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/macosx
  • nm-alibswiftCore.dylib|grep"T_swift_stdlib_"
WarrenMoore——《MetalByExample》作者

iPhoneSDK安装,然后最基本的是你要熟悉C语言,再来你得学习开发iPhone所使用的Objective-C语言,接著是Cocoa。如果你是Mac平台开发的入门用户
只想知道 该用户已被删除
沙发
发表于 2015-1-21 06:43:00 | 只看该作者
从C语言入门,因为IOS开发用的是OC语言,是在C基础上的,不过也跟C不是很搭界,你可以直接学习OC语言也可以,
再现理想 该用户已被删除
板凳
发表于 2015-1-27 20:18:51 | 只看该作者
看《iPhone 4与iPad开发基础教程》,跟着一步步来
地板
发表于 2015-2-5 09:15:17 | 只看该作者
iPhone文件系统NSFileManager讲解是本文要介绍的内容,主要是通过iphone文件系统来学习NSFileManager的使用方法,具体内容来看本文详解。
莫相离 该用户已被删除
5#
发表于 2015-2-6 09:40:29 | 只看该作者
down下code4app网站的每个分类的代码挨着看
爱飞 该用户已被删除
6#
发表于 2015-2-11 06:51:13 | 只看该作者
特别是在校的学生,都存在一个小小的尴尬——虽然学习iOS开发的热情高涨,但由于没有多余的银子购买昂贵的Mac电脑而踟蹰不前。其实,针对初学者,如果想进入iOS开发的天地
柔情似水 该用户已被删除
7#
发表于 2015-2-23 05:59:21 | 只看该作者
开始的时候甚至想放弃,不过想想自己的未来,只能咬牙坚持,课下就不停的缠着老师。放学就补基础,这些基础的东西没有速成的,只有刻苦努力。我是后来发现的,转变自己的心态,不要读书看资料当成一种痛苦
透明 该用户已被删除
8#
发表于 2015-2-26 03:07:10 | 只看该作者
每个行业都一样,想要一天学有所成是不可能的,一定要做好努力的准备,做ios不是简单的学会oc语言。不怕多走弯路,就怕不肯动手。
变相怪杰 该用户已被删除
9#
发表于 2015-3-8 11:33:15 | 只看该作者
近期由于IOS7的发布,所以应用的适配潮可谓是都搞的锣鼓喧天,甚是热闹,因此呢,因适配IOS7而产生的问题也是铺天盖地的卷来,
若相依 该用户已被删除
10#
发表于 2015-3-10 09:16:49 | 只看该作者
我也从简单的状态栏适配开始,先研究了下关于状态栏的适配,特总结如下,供广大网友一起讨论交流。
萌萌妈妈 该用户已被删除
11#
 楼主| 发表于 2015-3-17 06:10:13 | 只看该作者
我也从简单的状态栏适配开始,先研究了下关于状态栏的适配,特总结如下,供广大网友一起讨论交流。
简单生活 该用户已被删除
12#
发表于 2015-3-17 06:10:13 | 只看该作者
近期由于IOS7的发布,所以应用的适配潮可谓是都搞的锣鼓喧天,甚是热闹,因此呢,因适配IOS7而产生的问题也是铺天盖地的卷来,
愤怒的大鸟 该用户已被删除
13#
发表于 2015-3-23 22:41:16 | 只看该作者
开始的时候甚至想放弃,不过想想自己的未来,只能咬牙坚持,课下就不停的缠着老师。放学就补基础,这些基础的东西没有速成的,只有刻苦努力。我是后来发现的,转变自己的心态,不要读书看资料当成一种痛苦
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-29 08:29

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表