• 1 课务 iOS 概述


    重要注意

    紫色解释

    蓝色分类

    新内容


    CS193P 本课老版本 2010 年冬 http://open.163.com/movie/2010/6/C/7/M6RU83DCT_M6RU957C7.html

                                        iOS5  http://v.163.com/special/opencourse/ipadandiphoneapplication.html

    CS06A(java)

    编程方法学

    CS106B

    抽象编程(C++,内存)

    CS106X

    CS107

    编程范式(C,C++,python)

    CS108

    CS110

    开始学术语

    看完这集再决定看不看前面的课程

    决定直接看下去,不懂的再查 因为还好听的懂噻

    2015版   https://itunes.apple.com/us/course/developing-ios-8-apps-swift/id961180099

    http://itunes.stanford.edu/   可以在iTunes上面看到所有的斯坦福课程

    好之上面有iOS9  http://www.howzhi.com/course/11377/lesson/72730


    术语

    消息 message

    实例变量 instance variable

    父类 superclass

    子类 subclass


    what’s  in iOS?

    1  Core OS 核心操作系统层 close to the hardware

    Unix Kernel,BSD-based mock(基于 BSD 的 Unix 版本), Unix 有的 它都有,sockets(嵌套字),file system ,permissions + power management ,key chain access to kind of manage the security of things(安全管理的钥匙串访问), Bonjour .

    2  Core services  an object-orented on the top of 1

    Arrays dictionaries strings, objected - oriented ways to access the file system, objected - oriented ways to find out the GPS, multithreading  .

    3  Media

    video/video editing    image  audio/3D audio

    4  Cocoa Touch     UI Layer

    Buliding buttons , sliders , textfields, interact, animation happening, things sliding in and out, fading out and in, get pics from camera from the user, localization, map kit,

    high - level objects


    Tools  Xcode 5  Instruments

    一.Language

    二.Frameworks    Foundation  UiKit ,Core data, Core motion ,Map Kit

    三.Design strategies   MVC(Model View Controller)

    1.MVC:  is essentially a strategy for how to organise all the classes in your app. Camps。

    Model-> what (independent of UI)

    Controller-> how the model is presented on screen (hTake the model data and put it in, and using it to view minions, put on screen)

    View-> UI

    Controller Model View

    13.30~29.52 MVC

    2.how they communicate?

    View -> Controller

    1.target action

    2. Will+should+did  delegate protocols

          protocaol

          is a blind way to talk to another object. Blind communication.

    View should not own the data they're displaying

    (eg, a player, song in the model, surface in the view, way in the controller)

    3. data source   count (It's a special delegate)

    Model -> Controller

    Notification&KVO (Radio broadcast)


    An MVC can use another MVC as part of its View.

    eg:

    Calender (year,month,day)

    Tab Bar Controlers


    Objective - C

    1. Strict superset of C

    2. Properties


    Card class

    Card.h is the public API

    Card.m is your private API and all your implementation

    Card.h

    @interface Card:NSObject

    @property [strong,nonatomic] NSString *contens; 

    @property [nonatomic, getter=isChosen] BOOL chosen;   

    //太帅了,可以更改getter的方法名,自己爽就好

    //BOOL 原始数据类型,没有在堆栈中,like int or floate 不需要管理内存,不涉及指针

    @property [nonatomic, getter=isMatched] BOOL matched;

    // strong mean reference counting (引用计数)

    // OC will track every single strong pointer to an object in the heap, as long as at least one strong pointer exists, it going to keep that thing in the heap. 只要有就保留。没有强指针时候,立刻释放内存。

    // weak means OC keep it in memory as long as someone else has a strong pointer to it. No strong pointer to it, it gets freed from the memory, and this pointer gets set to nil. 配合强指针,指向内存,没有强指针指向时,释放内存,弱指针为nil。weak不仅释放内存,还会使指针为空。

    // nonatomic calling this setter and getter that go along with this property is not thread safe

    // @property advantage: balance checking, set a property then updating UI, initialize pointers

    // advantage  to use setter & getter:

    // all properties  in OC start off 0

    -(int)match:(NSArray *)otherCards;  // 0 don't match

    //

    @end

    Card.h

    Setter and Getter are created  automatically but you can't see, they are in Card.m  all public.

    @interface Card()

    @end

    @implementation Card

    -(int)match:(NSArray *)otherCards{

    int score=0;     // all local variables start out 0

    for(Card *card in otherCards){

    if([Card.contents isEqualToString:self.comtents]){      //  [  ]

    score=1;

    }

    }

    // .  dot noattin is only for properties (actually call the setter and setter), other places u will get warning

    // self 就是正在这段代码起作用的实例, this instance that this code is operating on.

    // == compare two pointers, not contents they pointing

    return score;

    }

    @end


    总结

    新内容

    .m 文件中好像不太一样,但是都是XCode自动生成的,应该只是版本问题,问题不大

    新语法  在 @property 里面修饰有strong和weak之分

    并且 getter 方法名可以自己重命名哦

    然后,我觉得课程笔记最好还是大象上方便,装逼的话发到博客上去吧


    EN01ae8119

  • 相关阅读:
    ElasticSearch(ES)学习笔记
    Lucene學習日志
    velocity代码生成器的使用
    springboot学习笔记
    springmvc json 类型转换错误
    在做del业务时,传递参数,和接口中入参注释
    做add添加业务时,字符集乱码,form标签库,button的href 问题,添加后页面跳转,forward,redirect 。定制错误输出
    mybatis中联合查询的返回结果集
    mybatis分页,绝对路径的2种写法
    maven导入项目时报错,配置应用程序监听器[org.springframework.web.context.ContextLoaderListener]错误
  • 原文地址:https://www.cnblogs.com/yesihoang/p/4578654.html
Copyright © 2020-2023  润新知