学习一
来源:互联网 发布:西华师范大学知乎 编辑:程序博客网 时间:2024/05/29 10:58
cocoa touch 是百分百面向对象的,使用MVC设计模式。
预备知识:
面向对象编程,数据结构等;
面向对象术语(class,instance,message,methord,instance variable,superclass,subclass)
IOS分为四层:
cocoa touch
media
core services
core os
平台组成:
工具:xcode 等
语言:oc
框架:map kit,ui kit ,core data 等
设计模式:MVC
MVC:组织程序中所有的类,当多个视图时候,可以通过多个MVC相结合来实现,M与M可相互交流,V与V独立,C与C下属关系,同一个M可以供多个C使用
三部分组成:view,model,controller;
C与V: C可以向V发消息(因outlet的存在);
C可以给V指定动作,在UI中当v触发该动作时,c收到该消息并处理;
C设置自己作为V的代理(代理通过协议设置,did,will,should的代理),V需要做的由C实现;
C设置自己作为V的代理(数据源代理),V需要的数据由C提供(C从M获取数据传给V)
C与M: C可以向M发消息
M与C: 当M数据改变可以把自己设为广播站,(C接收广播,M发送给对其感兴趣的事物)
V与M: 相互独立
OC:
头文件.h,实现文件.m,C的超集;
OC中通常不访问变量,而是访问属性,一个属性是get和set方法的结合,get使用属性名字,set使用set加上开头大写的属性名;
公有声明:
#import <Foundation/foundation.h>@interface Card : NSObject@endIOS7中可以使用@import Foundation; 来导入框架nsobject是IOS中所有类的父类;
私有声明(扩展中)+实现:
#import "Card.h"@interface Card()@end@implementation Card@end头文件加上:
@property (strong)NSString* contents在OC中,所有的对象都在堆中,所以,将不会存在NSString contents;strong 表示:只要指向该对象的指针不被设置为nil,将一直存在堆中。
weak表示:如果没有strong型指针指向它,它会被扔出内存,然后设置为nil(在任何时间都可能发生)
nonatomic表示;非线程安全的,如果不设置它,它会锁住代码,使代码复杂化@property (nonatomic) BOOL matched
基本类型不会存放在堆中,所以不必指定strong 或 weak。@property (nonatomic,getter = isMatched) BOOL matched
get方法名由 matched改为isMatched,方法声明:
-(int)match:(Card*)card;方法实现:
- 学习一
- 学习一
- 学习一
- 学习(一)
- angularjs 学习 指令学习一
- 学习Python, 学习Pygame(一)
- 深度学习学习笔记(一)
- 《机器学习》学习笔记一
- 学习opencv_学习笔记一
- 学习机器学习(一)
- 深度学习框架学习一
- 迁移学习学习(一)
- 机器学习 学习记录(一)
- 学习java心得体会(一)
- XSLT学习笔记(一)
- 学习Flash (一)
- 学习ShellCode(一)
- PHP学习日记一
- lua的模式匹配
- How to install PostGIS 2.0 on Ubuntu 11.10 (oneiric) from source
- Cocos2d-x3.0源码分析之跨平台适配层
- 机器学习入门阶段程序员易犯的5个错误
- 匹配颜色
- 学习一
- 手机UserAgent数据(不定期补充)
- android-Acitvity之间数据的传递
- java的锁
- 唯品会Microscope——大规模分布式系统的跟踪、监控、告警平台
- java中(PO,VO,TO,BO,DAO,DTO,QO,POJO)等概念的理解
- 排序算法的相关介绍
- 单元测试用例设计原则
- 【付出总有回报】广州广汕公路科目三路考通过!小结供大家参考