狠狠撸

狠狠撸Share a Scribd company logo
Objective C 与 XCode

刘鑫 <march@xiachufang.com>

      iOS 及 Mac OS 开发介绍


     February 24, 2012




                          .   .   .   .   .   .
对于本课程




 一个人应该能够换尿布,策划战争,杀猪,开船,设计房子,写
 十四行诗,结算账户,砌墙,接脱臼的骨头,安慰濒死的人,服
 从命令,发布命令,携手合作,独立行动,解数学方程,分析新
 问题,铲粪,电脑编程,做出可口的饭,善打架,勇敢地死去。
 只有昆虫才专业化。
                  ——Robert A. Heinlein




                         .   .   .   .   .   .
What's Apple?




          .   .   .   .   .   .
肾之天敌




       Figure: iPhone




                        .   .   .   .   .   .
一个卖 mp3 的公司居然咸鱼翻身了……——孔老师




          Figure: iPod


                         .   .   .   .   .   .
唯冠出品,中华之光




            .   .   .   .   .   .
星巴克利器




        Figure: 各种 MAC




                         .   .   .   .   .   .
Apple 的软件体系




        .   .   .   .   .   .
iOS ——mp3 厂商咸鱼翻身之秘




          Figure: iOS 丰富的 APP




                            .   .   .   .   .   .
Mac OS——Alan Kay 抄袭了它




       Figure: Mac OS 的软件正在向 iOS 风格转变




                             .   .   .   .   .   .
Objective C




  #import <stdio . h>

  i n t main( i n t argc , char* argv [ ] ) {
        p r i n t f ( " hello world !  n " ) ;
        return 0;
  }




                                             .    .   .   .   .   .
这货不是 C




         等等,哪里不对?




               .   .   .   .   .   .
这货真的不是 C




 Objective C 是 C 语言的一个 Smalltalk 风格的面向对象扩
 展,高度兼容 C。是 Apple 各平台的主力开发工具。




                             .   .   .   .   .   .
IDE 实作



 #import <Foundation / Foundation . h>

  i n t main ( i n t argc , const char * argv [ ] )
  {

       @autoreleasepool {
          NSLog(@" Hello , World ! " ) ;

      }
      return 0;
  }




                                        .   .   .     .   .   .
XCode




  XCode 是 Apple 官方推出的 Apple 体系开发工具,用于开发
  Apple 各平台的 IDE。




                           .   .   .   .   .   .
iOS 开发演示




 演示最简单的 ios 项目。




                  .   .   .   .   .   .
来一发吧!




 演示最简单的 ios 项目建立。




                    .   .   .   .   .   .
Objective?




  演示最简单的类型定义。




                .   .   .   .   .   .
GUI?




  演示最简单的 cocoa 界面开发。




                       .   .   .   .   .   .
MVC?




 演示并解说 cocoa 的 MVC 结构。




                         .   .   .   .   .   .
事件?




 演示并解说 cocoa 的事件绑定。




                      .   .   .   .   .   .
Debug?




  演示并解说 cocoa 的一些 debug 操作。




                              .   .   .   .   .   .
谁动了我的内存?




 Objective C 的内存管理基于 alloc/dealloc 机制。需要程序员
 细心管理。




                             .   .   .   .   .   .
谁动了我的对象?




 Objective C 通过 init/release 机制管理对象结构的构造和释
 放。




                             .   .   .   .   .   .
谁动了我的引用技术?




 Objective C 通过 retain/release 机制管理对象结构的构造和
 释放。




                             .   .   .   .   .   .
谁动了我的属性?




  ?   retain/assign
  ?   strong/weak




                      .   .   .   .   .   .
autorelease?




  AutoRelease 机制适用长生命周期的对象,不建议过度使用。




                        .   .   .   .   .   .
托管给工具?




 GC 机制性能底下,新项目建议使用 arc 机制。




                       .   .   .   .   .   .
我的内存哪儿去了?




 介绍 pro?le 工具




                .   .   .   .   .   .
我的代码可靠吗?




 介绍 analyze 工具。




                  .   .   .   .   .   .
我的项目质量高吗?




 介绍 Unit Test 工具 GHUnitTest。




                               .   .   .   .   .   .
推荐开发书籍。




          .   .   .   .   .   .
我们的项目中使用的第叁方组件。




            .   .   .   .   .   .
再见!




      谢谢大家!
                      Power By LTEX
                               A




              .   .      .   .   .    .

More Related Content

Xcode tutorial