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

  • 相关阅读:
    powerdesigner简单使用
    linux进程间通信方式
    linux中fork()函数详解(原创!!实例讲解)
    platform_device与platform_driver
    当心不静的时候
    linux移植简介[MS2]
    使用maven的tomcat:run进行web项目热部署
    SpringMVC & Struts2
    开放产品开发(OPD):OPD框架
    【Android个人理解(八)】跨应用调用不同组件的方法
  • 原文地址:https://www.cnblogs.com/gzoof/p/5436171.html
Copyright © 2011-2022 走看看