一 打开xcode, create new project ,选择application,empty application
二 建好以后可以看到,在某些文件中有source code.这些source code file 设置你的app的运行环境。大部分工作都由UIapplicationMain function 来做,UIapplicationMain function 在main函数中被自动调用,主要是用来创建一个应用对象,用这个对象来设置infrastructure 使你的app在ios system 上能够运行。
三 查看main函数。(鼠标双击可以在一个独立的窗口打开main函数)
autoreleasepool 能够为你的app的memory管理提供支持,它是memory 管理的infrastructure. auto reference count (ARC)能够让compiler去主动追踪谁拥有这个对象,它使memory management 变得更加直接更加有效率
main 函数对UIApplicationMain调用
UIApplicationMain最主要为你的app初始化了两个components
1 UIApplication 类的一个实例,被叫做application Object,主要管理app event loop和coordinates app的高级行为,它被定义在UIkitFramework中,系统自动执行。
2 ToDoListDelegate类的一个实例,叫做delegate Object,这个对象create window,这个window显示app的内容
Application Object 与delegate Object的交互:
当app运行的时候,Application Object调用delegate Object中的方法,让你custom的source code去执行。
当你打开delegate.h 文件时,会发现delegate Object中有且仅有一个property:window,delegate用window去追踪你的app在window中画的内容
当你打开delegate.m文件时,可以看到许多预先定义好的方法,你可以让你的app通过这些方法与delegate来交互。比如第一个方法就设置了window的背景色。
四 创建一个storyboard,storyboard 是你app的user interface ,通过屏幕来显示内容,可以在user interface和屏幕之间转变
方法:文件-创建-ios-storyboard,
storyboard创建好以后,你必须告诉xcode,你想要让这个storyboard来做为你的app的界interface,当app launch的时候,application Object将load默认的storyboard作为app的interface.
现在你有一个storyboard之后,你要添加content。xcode 提供了library of object,你可以添加库中的对象到你的storyboard中。库中的对象大致可分两类:一类是interface elements,比如buttons,text fields.另一类是view controllers and gestures recognizes,这些都不能显示在screen上.
刚开始的时候,你需要添加一个view controller,view controller是用来管理views 和subviews
打开storyboard,你会看到一片空白的画布,你将在这个画布上添加和管理interface elements
打开对象库,添加一个view controller对象,此时你有了一个场景(scene),这个scene有一个单独的view controller去管理
细心的话你会看到有个指示箭头指向这个scene,这个箭头表示这个场景将是app运行时显示的第一个scene
下面是向scene中添加一个text fields,调整text fields的位置到场景的中心,调整它的大小到合适,并运行