该笔记为看《2011年冬季最新斯坦福大学公开课:iOS程序开发教程》所做,观看视频网站:http://www.youku.com/playlist_show/id_16853809.html
iOS应用开发视频教程笔记(十七)iCloud
摘要:这节课主要讲iCloud以及demo。
iCloud
什么是iCloud呢?基本上,对用户来说iCloud只是个网络共享目录的URL,它的意图主要是让用户把他们的文档、数据、备份、app文件放到网上去,然后在他们任意的其他设备上,都可以访问该数据。这是它最主要的用途。
为了app能访问云,它需要获得正确的权限,在xcode中只要点击一个按钮就能获得权限。
只要在project target里单击黄色箭头指向的按钮,它会自动填写授权信息。
阅读全文
posted @
2013-03-27 23:07
写下一生的程序
阅读(6834)
推荐(2)
iOS应用开发视频教程笔记(十六)Action Sheets, Image Picker, Core Motion
摘要:这节课主要讲NSTimer的内容以及它的替代方案“perform after delay”、更复杂的动画、Alerts、Action Sheets、UIImagePickerController(用来从camera里取东西)和Core Motion。如果不是一个重复timer,不需要invalidate,它自己会结束。可以看到repeats是YES或NO,代表是否重复。如果有一个strong指针指向它,那么需要将其设置为nil;如果是一个weak指针,它自己就可能把自己nil掉。所以这是除了outlet之外,另一种可能会使用一个弱指针的情况。调用了scheduledTimerWithTimeInterval,在它运行的时候会有强指针指向它,一旦通过invalidate停止它,它就不会再有强指针。
阅读全文
posted @
2013-03-26 16:37
写下一生的程序
阅读(3584)
推荐(1)
iOS应用开发视频教程笔记(十五)ModalViewController_Test_Animation_Timer
摘要:这节课主要讲四种特性:Modal View Controllers、UITextField and UITextView、UIView Animation和NSTimer。
Modal View Controllers
它是一个模式,当用户要继续做某些事情的时候必须先做别的事情。如何使Modal View Controllers出现在屏幕上?用segue,从一个button或bar button或什么的control-drag出来,来触发Modal View Controllers。点击之后,在xcode中control-drag以创建一个segue,然后将其设置为modal,当你inspect这个segue,在这里可以设置类似它的出现方式之类的东西。
阅读全文
posted @
2013-03-23 23:57
写下一生的程序
阅读(2641)
推荐(1)
iOS应用开发视频教程笔记(十四)Core Data Demo
摘要:这节课的主要内容是Core Data的线程安全、Core DataTable View,以及大Demo。
Core Data Thread Safety
NSManagedObjectContext不是线程安全的,只能在创建NSManagedObjectContext的那个线程里访问它。一个数据库有多个UIManagedDocument和context,它们可以在不同的线程里创建,只要能管理好它们之间的关系就没问题。
线程安全的意思是,程序可能会崩溃,如果多路访问同一个NSManagedObjectContext,或在非创建实例的线程里访问实例,app就会崩溃。
阅读全文
posted @
2013-03-20 23:59
写下一生的程序
阅读(4784)
推荐(2)
iOS应用开发视频教程笔记(十三)Core Data
摘要:这节课的主要内容是Core Data、NSNotificationCenter和Objective-C Categories。
Core Data
它是一个完全面向对象的API,负责在数据库中存储数据,底层也是由类似于SQL的技术来实现的。
在高级语言这一层,如何使用Core Data?在xcode中,有个工具可以建立对象之间的映射,这些对象会存储在你的数据库里,它们是NSObject的子类,实际上是NSManagedObject的子类,然后Core Data负责管理这些对象之间的关系。
阅读全文
posted @
2013-03-14 21:13
写下一生的程序
阅读(19016)
推荐(3)
iOS应用开发视频教程笔记(十二)Persistence
摘要:这节课主要讲几个部分,一个是final project的准则,然后是持久化(Persistence)问题。
持久化(Persistence)意思就是当你退出app的时候它还会存在。NSUserDefaults就是一个非常简单的持久化方案,不过这有限制,它只能是很小的东西,通常是些用户选项。
如何把那些大数据的东西持久化?
第一个方法,把东西持久化的第一个简单的方式有点像用NSUserDefaults里的property list来实现的进化版,property list是我们自定义的一个概念,是NSArray、NSDictionary、NSNumber、NSString、 NSDate和NSData的组合。所有以上这些都有API可以用来保存,NSUserDefaults也有些API可以。
阅读全文
posted @
2013-03-11 11:00
写下一生的程序
阅读(1973)
推荐(1)
iOS应用开发视频教程笔记(十一)Core Location and Map Kit
摘要:今天要讲的是设备的位置,包括如何找到设备的位置和如何在地图上显示位置。
Core Location不是一个UI的东西,没有用户界面,它只是关于找到该设备的位置。Core Location的基本对象是一个CLLocation,CL是Core Location库的前缀,location是基本对象。关于这个位置读数的精度,会谈到时间戳(timestamp),就是这个位置何时被记录。speed,移动的速度有多快,通过GPS坐标的瞬时读数判断。course,类似移动的航行。最重要的是coordinate,它告诉你这个CLLocation在哪里。
阅读全文
posted @
2013-03-09 23:03
写下一生的程序
阅读(3955)
推荐(1)
iOS应用开发视频教程笔记(十)Blocks and Multithreading
摘要:这节课的主要内容包括:
1.UI元素,比如UITabBarController以及UINavigationItem(就是自定义navigation controller里面的view controller的样子的property);
2.然后就是Blocks,Blocks是一种语言特性,这非常重要,我们所有在ios的多线程的东西都要用到Blocks,因为主线程也就是UI线程,时常要跟用户交流,这是永远都不能被阻塞的。
UITabBarController
UITabBarController基本上就是你在iphone或其他ios应用里看到的那些在底部的黑色的button,比如时钟app,可以看到从左边点到右边,就会出现不同的view controller。
阅读全文
posted @
2013-03-03 23:56
写下一生的程序
阅读(1786)
推荐(2)
iOS应用开发视频教程笔记(九)Table Views
摘要:今天讲的是TableViews,它可用于呈现动态数据列表,也可用于静态数据。
UITableView
tableView是个一维表,这是一个UIScrollView的子类,所以它是一个滚动列表。它可以高度定制化,它从它的两个不同的delegation中获取所有的定制化信息,有data source和delegate这两个不同的properties,data source负责提供表中的数据,delegate负责数据显示。如果想显示多维数据,就是有行和列,可以使用sections或者可以把它放进一个navigation controller。
阅读全文
posted @
2013-02-27 23:42
写下一生的程序
阅读(8594)
推荐(0)
iOS应用开发视频教程笔记(八)Controller Lifecycle & ImageScrollWebViews
摘要:这节课主要讲关于View Controller的生命周期、ImageView、ScrollView、WebView及它们的demo演示。
View Controller Lifecycle
View Controller的生命周期指它们被创建、存活然后消亡。
View Controller的生命周期的第一部分是创建,这部分基本上由storyboard里面的segue完成,一个segue总是创建一个新的View Controller。在storyboard里有个方法叫做instantiateViewControllerWithIdentifer,你需要一个View在storyboard里的View Controller,你给这个方法一个identifier,然后它就会帮你实例化一个View Controller,然后你的职责就是把这个View放在屏幕上,可以push到navigation controller,也可以是popover。
阅读全文
posted @
2013-02-13 22:28
写下一生的程序
阅读(2445)
推荐(0)
iOS应用开发视频教程笔记(七)iPad Apps
摘要:这节课的主要内容包括iPad、Split Views、Popovers及做一个universal的应用并在两种设备上运行。
UIToolbar
通常在屏幕的顶部或底部,长得像钢筋一样。一个工具栏,是一个UIBarButtonItems的集合。UIBarButtonItems不是按钮,有点像是简化过的按钮。UINavigationController有一个在底部的工具栏,可以通过在xcode里inspect Navigation Controller中的Shows Toolbar小开关打开,但工具栏上的按钮和Navigation Controller本身没有任何关系,它只和当时显示的ViewController有关。
阅读全文
posted @
2013-02-07 23:57
写下一生的程序
阅读(6204)
推荐(1)
iOS应用开发视频教程笔记(六)Multiple MVCs and Segues
摘要:今天的主要内容是:
继续上周的Demo,让FaceView委托其数据,然后增加一个手势识别,但这一次要在controller里处理。
如何构建一个应用程序,如何修改现有的应用程序有多个MVC,然后会做一个关于此的Demo。
视图控制器的生命周期,也就是一个控制器的存在和发生,有一个出现在屏幕上和离开屏幕的周期。
阅读全文
posted @
2013-01-21 00:08
写下一生的程序
阅读(1725)
推荐(0)
iOS应用开发视频教程笔记(五)Protocols and Gestures
摘要:自动旋转
旋转设备之后,view的bounds跟着改变了。返回controller是否允许它的view自动根据设备的旋转而旋转。这个自动旋转接口包括竖直、上下颠倒、左横向和右横向这4种情况。这儿有个宏UIInterfaceOrientationIsPortrait,返回它来检查是否是你想要的旋转方向。旋转的时候view的bounds会改变,它的子view的frame会变,子view的子view也会变。改变的衡量被称为struts和springs。
阅读全文
posted @
2012-12-18 10:53
写下一生的程序
阅读(1235)
推荐(0)
iOS应用开发视频教程笔记(四)Views
摘要:这节课分为两部分,一部分是Calculator的Demo,一部分是Views。
Demo的演示包括下面内容:
1、可编程性,添加一些API,作用是返回计算程序!API要保证程序向上兼容。计算程序是在Brain里操作数和运算符的组合。一旦获取到了计算程序,回到calculator类通过类方法来执行这个程序,也就是去计算运算结果,同时还会有一个类方法返回一个可读的计算程序的描述。计算程序,就是操作数和操作符的组合,把这个组合里的操作数和操作符弹栈并做相应的计算。API向上兼容就是说他没有改变Controller,程序一样能正常运行。
阅读全文
posted @
2012-12-16 12:29
写下一生的程序
阅读(1179)
推荐(0)
iOS应用开发视频教程笔记(三)Objective-C
摘要:回顾上节课内容:
主要学了两样东西,xcode和很多obj-c。
1、如何创建新项目?开始界面的Create键还有文件菜单的创建新项目。
2、如何显示项目里的不同文件?比如左边的navigator,上部的选项条。
3、xcode的UI布局:使用对象库,inspector,debugger控制台等。
4、从右下角拖button、label到view上,还有从中拖出条线来连接到controller来实现controller对view的通信,还有利用action让view向controller发话。
5、如何获取帮助?按住option键再点击进入完整文档。
阅读全文
posted @
2012-12-13 23:20
写下一生的程序
阅读(1765)
推荐(0)
iOS应用开发视频教程笔记(一)MVC and Introduction to Objective-C
摘要:(1)ios概述
ios分为4层,这4层都和硬件密切相关,最下层最接近硬件,最上层最接近程序环境或引擎。
Core OS层
该层为最下层主要是mach4.x BSD UNIX内核,也就是Mac OS 10操作系统,是一个在硬件上能够执行多任务的UNIX内核。在这一层上,它提供了很多支持例如网络、socket、安全机制、文件系统,这里的API大多数都是C的API不是面向对象的,因为这是UNIX代码,我们一般不在这一层上写代码。
阅读全文
posted @
2012-12-11 18:00
写下一生的程序
阅读(2326)
推荐(2)
iOS应用开发视频教程笔记(二)My First iOS App
摘要:这课主要是以一个计算器一个用为例子,教你怎么使用XCode,如何使用MVC设计模式创建应用。
(1)新建一个single view application模版的应用
打开xcode并点击“创建一个新xcode项目”,进入项目创建界面,这个界面让我们为应用选择一个模板。接着选择“single view application”模板,单击next按钮,进入项目详细信息界面。
阅读全文
posted @
2012-12-11 18:00
写下一生的程序
阅读(1082)
推荐(0)