学习一

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

@end
IOS7中可以使用@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;
方法实现:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MyObject-C

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值