莫相离 发表于 2015-1-18 11:27:52

IOS设计iOS 8新特征先容仓酷云

有一些像NSCopying的接口(经@李禹龙提醒应该叫协议)不是特别用到开始不用了解NSObject创建对象的时候用+(id)alloc方法创建后需要init方法初始化任意往问任何人,他们城市告知你WWDC2014是最近几年来最为冲动的回想。全部年夜会没有公布任何新硬件,它是一次史无前例的软件开辟者盛宴!
仅是iOS8和OSXYosemite的公布就可以让2014成为苹果平台划时期的一年,加上Extension,Continuity,SpriteKit改善,iOSSceneKit,Metal,HealthKit,LocalAuthentication和全新的照片框架。更不必说,Xcode和InterfaceBuilder的分明变动,从头计划的iTunesConnect,TestFlight,溃散呈报和CloudKit。固然另有ohyeah-Swift。
更棒的是?苹果抓紧了她的保密协议,也就是说我们能够如今就公然会商这些极新的玩具!
这周,我们将扒开iOS8的云雾,切磋一些一切人都应当晓得新API。
从如今入手下手NSHipster讲次要利用Swift写样历代吗。炎天停止之前,我们但愿能将全体的现存代码转换为Swift,而且供应能够切换言语的选项。
NSProcessInfo-isOperatingSystemAtLeastVersion

健忘[systemVersion]和NSFoundationVersionNumber吧,如今能够用NSProcessInfo-isOperatingSystemAtLeastVersion来断定体系版本。
importFoundationletyosemite=NSOperatingSystemVersion(majorVersion:10,minorVersion:10,patchVersion:0)NSProcessInfo().isOperatingSystemAtLeastVersion(yosemite)//false值得注重的是,在做兼容性测试的时分仍是应当利用SomeClass.class或respondsToSelector:。Swift和C中的编译器宏能够用来依据分歧天生设置和方针来选择代码。
新的NSFormatter子类

Foundation中严峻缺掉的一项功效就是不克不及处置分量和长度单元转换。在iOS8和OSXYosemite中,引进了三个新类NSEnergyFormatter,NSMassFormatter和NSLengthFormatter来填补这一缺掉。
这使得NSFormatter子类的数目翻了一倍,之前只要NSNumberFormatter,NSDateFormatter和NSByteCountFormatter。
固然这些都是Foundation的子类,可是它们次要都是在HealthKit傍边利用。
NSEnergyFormatter

NSEnergyFormatter利用焦作为能量的原始单元,当处置安康信息时,则利用卡.
letenergyFormatter=NSEnergyFormatter()energyFormatter.forFoodEnergyUse=trueletjoules=10_000.0println(energyFormatter.stringFromJoules(joules))//"2.39Cal"NSMassFormatter

固然质量是物资存在的基础单元,在HealthKit中,它次要指的是身材分量.
letmassFormatter=NSMassFormatter()letkilograms=60.0println(massFormatter.stringFromKilograms(kilograms))//"132lb"NSLengthFormatter

NSFormatter的最初一个新子类是NSLengthFormatter.我们能够把它设想为MKDistanceFormatter的增强版。
letlengthFormatter=NSLengthFormatter()letmeters=5_000.0println(lengthFormatter.stringFromMeters(meters))//"3.107mi"CMPedometer

沿着iOS8的安康线路,CMStepCounter被从头计划了.CMPedometer作为它的改进版本不但能够立即猎取团圆的点数据,而且能够同时跟踪脚步和间隔,乃至盘算统共爬了几级楼梯。
M7芯片真是功效壮大.
importCoreMotionletlengthFormatter=NSLengthFormatter()letpedometer=CMPedometer()pedometer.startPedometerUpdatesFromDate(NSDate(),withHandler:{data,errorinif!error{println("StepsTaken:(data.numberOfSteps)")letdistance=data.distance.doubleValueprintln("Distance:(lengthFormatter.stringFromMeters(distance))")lettime=data.endDate.timeIntervalSinceDate(data.startDate)letspeed=distance/timeprintln("Speed:(lengthFormatter.stringFromMeters(speed))/s")}})CMAltimeter

在撑持的设备上,CMAltimeter可让CMPedometer的floorsAscended,floorsDescended数据加倍精准:
importCoreMotionletaltimeter=CMAltimeter()ifCMAltimeter.isRelativeAltitudeAvailable(){altimeter.startRelativeAltitudeUpdatesToQueue(NSOperationQueue.mainQueue(),withHandler:{data,errorinif!error{println("RelativeAltitude:(data.relativeAltitude)")}})}CLFloor

CLFloor的引进展现了苹果进军室内导航的雄伟企图,楼层信息将饰演侧重要的脚色。
importCoreLocationclassLocationManagerDelegate:NSObject,CLLocationManagerDelegate{funclocationManager(manager:CLLocationManager!,didUpdateLocationslocations:AnyObject[]!){letlocation:CLLocation?=locationsas?CLLocationifletfloor:CLFloor?=location?.floor{println("CurrentFloor:(floor?.level)")}}}letmanager=CLLocationManager()manager.delegate=LocationManagerDelegate()manager.startUpdatingLocation()HKStatistics

作为一个框架,HealthKit包括着大批的子类和常量。要想全体了解,HKStatistics是一个很好的入手下手。
HealthKit办理着一切的心理信息,比方:心率,卡路里摄取量,血氧等等,而且经由过程一致的API聚合在一同。
上面这个例子演示了怎样从一天的一连数据中,发掘和猎取独自的数据:
importHealthKitletcollection:HKStatisticsCollection?=...letstatistics:HKStatistics?=collection!.statisticsForDate(NSDate())foritem:AnyObjectinstatistics!.sources{ifletsource=itemas?HKSource{ifletquantity:HKQuantity=statistics!.sumQuantityForSource(source){ifquantity.isCompatibleWithUnit(HKUnit.gramUnitWithMetricPrefix(.Kilo)){letmassFormatter=NSMassFormatter()letkilograms=quantity.doubleValueForUnit(HKUnit.gramUnitWithMetricPrefix(.Kilo))println(massFormatter.stringFromKilograms(kilograms))}ifquantity.isCompatibleWithUnit(HKUnit.meterUnit()){letlengthFormatter=NSLengthFormatter()letmeters=quantity.doubleValueForUnit(HKUnit.meterUnit())println(lengthFormatter.stringFromMeters(meters))}ifquantity.isCompatibleWithUnit(HKUnit.jouleUnit()){letenergyFormatter=NSEnergyFormatter()letjoules=quantity.doubleValueForUnit(HKUnit.jouleUnit())println(energyFormatter.stringFromJoules(joules))}}}}NSHipster将会在将来切磋更多的HealthKit,敬请存眷!
NSStream+getStreamsToHostWithName

在很多方面,WWDC2014也是苹果查漏补遗的一年,好比给NSStream增加了新的initializer(不再用挪用CFStreamCreatePairWithSocketToHost了),这就是:+
varinputStream:NSInputStream?varoutputStream:NSOutputStream?NSStream.getStreamsToHostWithName(hostname:"nshipster.com",port:5432,inputStream:&inputStream,outputStream:&outputStream)NSString-localizedCaseInsensitiveContainsString

这又是一个NSString小而有用的补葺:
letstring:NSString="Caf

精灵巫婆 发表于 2015-1-21 07:23:11

iPhone文件系统:创建、重命名以及删除文件,NSFileManager中包含了用来查询单词库目录、创建、重命名、删除目录以及获取/设置文件属性的方法(可读性,可编写性等等)。

admin 发表于 2015-1-30 11:04:15

其实在培训的过程中,学习到最多的就是查资料的方式,当时感觉老师好坑,什么都不告诉我们,让我们自己去查,但是现在觉得还是要自己解决问题,这样才能理解的更加深入。

若天明 发表于 2015-2-3 12:48:50

以上可以同时进行,学习过程中尽量不要纠结细节和底层,要知道ios是封闭的、OC是高级语言,我们不可能过多地去了解它的原理,至少在新手阶段没有必要。用迭代的方式更新你的知识,而不是死抠一个知识点。

深爱那片海 发表于 2015-2-7 03:46:12

重要的是,放眼全球也的确找不到第二个如苹果iOS平台这样健壮、完整、先进而且为开发者带来真实收益的开发平台来。

海妖 发表于 2015-2-7 10:06:55

在百度搜索你想要了解的类名(苹果的cocoa和cocoatouch框架的类名很有特点很容易搜到,前缀都是NS or UI),看别人写的博客详解

山那边是海 发表于 2015-2-11 19:12:46

才在自己的Windows电脑上安装配置成功了一个完美的Mac OS X Lion(10.7.4)系统,而且下载了Xcode4.5的最新版本。虽然不能实机调试,但是作为iOS开发学习已经非常完美了。

再见西城 发表于 2015-2-21 13:07:35

看完这个你就可以有多种选择来踏入做应用的阶段

再现理想 发表于 2015-2-22 14:50:52

因为我们老师也是自学的,给我们讲课说的最多的就是百度,谷歌,查文档。

第二个灵魂 发表于 2015-2-24 02:40:24

开始的时候甚至想放弃,不过想想自己的未来,只能咬牙坚持,课下就不停的缠着老师。放学就补基础,这些基础的东西没有速成的,只有刻苦努力。我是后来发现的,转变自己的心态,不要读书看资料当成一种痛苦

柔情似水 发表于 2015-3-4 18:16:50

因为我们老师也是自学的,给我们讲课说的最多的就是百度,谷歌,查文档。

小女巫 发表于 2015-3-11 20:35:07

才在自己的Windows电脑上安装配置成功了一个完美的Mac OS X Lion(10.7.4)系统,而且下载了Xcode4.5的最新版本。虽然不能实机调试,但是作为iOS开发学习已经非常完美了。

仓酷云 发表于 2015-3-19 11:39:34

培训时可以选择安卓,iOS,Java,因为实习的时候我选了安卓,当时实习时间只有三周,学的晕头转向,而java我也没学过,iOS的基础是C语言,这个大学里还是学过的,于是选择了iOS。

透明 发表于 2015-3-27 20:07:30

还有开发工具是用Xcode,是在Mac系统的,你多摸索一下就可以开发简单的应用了,建议你买一本iphone开发秘籍第二版看看,希望可以帮到你,谢谢。
页: [1]
查看完整版本: IOS设计iOS 8新特征先容仓酷云