zoukankan      html  css  js  c++  java
  • 斯坦福iOS---CS193

    Tools:Xcode

    Language:Objective-C

    Frameworks:任何像这样的大系统一般都会将对象组到库中,在iOS中我们称之为框架

    主要先学习的两个框架,一个是Foundation框架,所有的核心服务都在这里例如数组和字典

    还有就是UIKit按钮和滑动条,还有Core Data 面向对象的数据库,还有Map Kit地图

    Design Strategies:MVC 一种设计模式 Model View Controller也就是一种将应用中所有的类组织起来的策略

    所有的类被分成三块,模型是一些数据和数据逻辑的实现,控制器控制模型如何呈现在屏幕上,而视图就是”仆从“是控制器要使用的类,视图中的东西会被用于构建UI

    控制器可以不受限制的访问模型,从控制器到视图,通信也是不受限的,且视图是控制器的“仆人”

    模型和视图是不能通信的,因为模型是完全独立于UI的,且视图对象本质上是UI对象,它们是通用的。

    视图到控制器的通信方式 有一种盲的 简单的 结构化的方式让视图能够同控制器通信 action 例如给按钮添加target

    还有一种复杂的 will did 或者协议(我们进行委托的方式 盲的通信)delegate

    视图不应该“拥有”它们所显示的数据,数据不应该是它们内部的属性,数据是数据

    视图通过控制器从模型中获取数据的方式  这就是盲的结构化方式 data source

    控制器的工作是为视图解释并格式化提供模型数据

    电台 Notification&KVO通知 如果模型发生了变化,可以通过键值来告诉控制器

    一个MVC可以控制另一个MVC作为视图内容

    .h是公共API,是类中你希望具有公共性质,让其他人能够调用的方法,需要指定父类

    @interface Name:NSObject

    @property (strong)NSString *contents;//用@property进行属性声明时 setter和getter会为我们写好

    @end

    所有对象都在堆(分配闲置内存的地方)中,且我们有指针指向它们,Objective-C会为你进行分配内存也会进行释放内存。

    通过strong还是weeklai判定何时释放,属性可以是强的,也可以是弱的,所有指针属性要么强要么弱,因为Objective-C需要知道怎么处理内存和堆

    strong是

    .m是私有API以及你所有的实现,也可以进行声明私有的属性和方法

    @interface Name()

    @end

    @implenentation Name

    @end

  • 相关阅读:
    【One by one系列】一步步开始使用Redis吧(一)
    Double.valueOf()与Double.parseDouble()两者的区别
    eclipse配置SVN
    java中String.valueOf(obj)、(String)obj与obj.toString()有什么区别
    zookeeper+dubbo【转载】
    jquery中的attr与prop
    window上安装rabbitMQ
    控制 输入框 只能输入数字、小数、负数
    关于JavaScript的事件触发
    JavaScript学习第四天
  • 原文地址:https://www.cnblogs.com/gzoof/p/5436171.html
Copyright © 2011-2022 走看看