学习iOS: 2

计划真是赶不上变化,周四五由于个人工作及个人事务的原因(当然还有懒的因素,-_-||),只将staford lecture 2,3看完,并且挤时间看了“beginning”的“development process”“designing a user interface”“defining the interaction”几章,没能完成一天一课包括代码、作业、博客,今天把之前的复习下并敲了2,3章的代码,此篇为2章总结,明天写第三章。

此章实现了一个简单的游戏:点击牌桌上的一张牌,就将牌翻转,显示其正面或者背面,并且在屏幕底部显示点击的次数。通篇下来,遵循mvc的设计思想,model层设计了牌桌与牌的功能,view层添加了UI资源并且设置其属性,controller层通过action和outlet将view的界面元素与controller的处理连接起来。以下是其中设计到的一些内容。

model

1. 方法中的参数定义

- (void)addCard:(Card *)card atTop:(BOOL)atTop; 初次接触这种写法还觉得蛮奇怪的,因为与c++ java中的都不同,添加了“额外的”atTop,似乎在方法的语义理解上有所帮助

2. alloc init: 不同于malloc,new等调用后直接就可使用不同,alloc后要init(或者其它的init实现)

3. 子类的定义: PlayingCard:Card

4. 类型:NSMutaleArray,NSUinteger,及格式化字符串stringWithFormat [NSString stringWithFormat:@“%d%@“, 1, @“a”]

5. instancetype: 返回类型表明此对象在接受消息后返回一个与自己类型相同的对象,一般只用在init方法中

view

1. 几种inspector:file,attribute,size等

2. 工程中插入image资源:放置在images.xcassets中(drag),而对不同屏幕设备要用不同分辨率资源,其中1x version是非Retina屏的,2x version是Retina屏的

3. 在attribute inspector中设置button的背景图片

controller

1. 所有controller都是从UIViewController继承的

2. 为UI元素添加action:control drag按钮到controller的实现文件方法定义中,并设置名称,类型,事件类型等

3. UIImage类型:用一个UIImage类型来表示在之前添加到工程中的图片资源,并且显示它:[UIImage imageNamed:@“name”]

4. 为UI元素添加outlet:与action相同,control drag之到实现文件的属性定义中,并设置名称,类型等

按照此课程的步骤走下来,实现了期望的效果,猜测iOS开发应该最主要的模式就是mvc了,从逻辑层到界面表现层分层清晰,model层包含数据结构的表示,有数据库、文件及各种数据结构的表现形式,controller层要添加各个UI元素的action outlet等以捕获对它们的操作,从而修改model层并反馈回view层,而view层则要添加各种UI元素,设置布局,甚至自己定制UI元素及其动画等,这个猜测在以后的学习中加以印证。

学习iOS: 2,布布扣,bubuko.com

时间: 2024-10-25 12:20:34

学习iOS: 2的相关文章

#在蓝懿学习iOS的日子#Day10

#在蓝懿学习iOS的日子#Day10今天做了一个大的游戏,涵盖了这段时间学洗的知识,页面的切换字符串,还有可变数组和遍历等知识点. 1.显示搭建视图添加背景,创建一个选择hero视图,添加一个button点击进入下一个选择hero视图: 2.在hero视图搭建视图添加背景,创建一个英雄hero类,把不同的英雄j连接进同一个button,设置tag用以区分hero类:在点击button进入游戏页面, 3.在游戏页面添加移动的背景视图, -(void)initBG{ //添加背景图片 self.bg

#在蓝懿学习iOS的日子#Day2

#在蓝懿学习iOS的日子#今天的学习的东西好多,当是每天的笔记吧: 1. 变量的作用域 局部变量:只可以在大括号内{}的范围为内使用: 全局变量: 在@interface ViewController ()的大括号内{}设置的变量u都j是全局变量,但不可以赋值 例:@interface ViewController (){ UIImageView *bulletIV; float x; int m; } 2.布尔值:BOOL  取值0或1   即:1是表示条件成立,0表示条件不成立: 3.if语

黑马程序员_学习IOS之字典常用的方法

字典是无序的 数组是有序的.字典分为:可变字典和不可变字典  不可变字典对象 NSDictionary * dict = [[NSDictionary alloc]initWithObjectsAndKeys:@"one",@"1",@"two",@"2",@"three",@"3",@"four",@"4", nil]; //value = ke

学习IOS开发UI篇--UI知识点总结(四) UITabelView/UITableViewCell

UITabelView:常用属性 @property (nonatomic)          CGFloat    rowHeight;             // will return the default value if unset @property (nonatomic)          CGFloat     sectionHeaderHeight;   // will return the default value if unset @property (nonatom

学习IOS开发UI篇--UI知识点总结(三) UIScrollView/UIPageControl/NSTimer

UIScrollView:常用属性 @property(nonatomic)   UIEdgeInsets     contentInset;               // default UIEdgeInsetsZero. add additional scroll area around content @property(nonatomic,getter=isPagingEnabled) BOOL   pagingEnabled;     // default NO. if YES,

【转】零基础学习iOS开发【2015-09-06 23:03】

原文链接:http://www.cnblogs.com/mjios/archive/2013/04/27/3046049.html#label5 本文目录 一.程序设计语言 二.是否需要计算机专业知识 三.是否要英文很好 四.开发工具 五.开发环境 六.Mac OS X的获取途径 七.调试设备 八.开发者证书 九.总结 在上一讲中,介绍了什么是iOS开发.说简单一点,iOS开发,就是开发运行在iPhone或者iPad上的软件.这么一说完,应该有很多人就会产生一些疑惑,比如学习iOS开发是不是一定

学习iOS小结

学习iOS已经一个星期了,在此总结一下这几天的学习. 刚开始从我们学校图书馆借的李刚的疯狂iOS讲义,用的是课上的时间和一些空闲时间看看,大概看了3天的样子吧,因为之前学过c语言也学过java所以看的也不是太累,看到了大概五分一的地方吧,开始讲的是面向对象的内容,然后开始迷迷糊糊的,渐渐的也就放弃了这本书,而且前面的几章都是讲的iOS基础,那时候比较急于求成,总感觉就是看了没用,后来买了关老师的那本ios书,是图灵出版的,书名现在忘记了...挺不错的一本书,之前几章就开始将控件,然后按照上面的教

学习IOS开发项目篇--如何让程序在后台保持挂起状态

程序的状态分为:前台运行,后台挂起,后台休眠,为了让项目的网络请求保持活跃状态,需要对程序进行设置. 在applicationDidEnterBackground方法中调用下面的方法,可以让程序进入挂起状态,但在未知时间内,可能会被系统设置为休眠,如果在将程序设置为播放器,并且循环播放一个MP3文件,可以保持永久挂起状态. UIBackgroundTaskIdentifier task =[application beginBackgroundTaskWithExpirationHandler:

学习IOS开发UI篇--UITableView/数据模型嵌套/UITableViewCell/Cell的重用

1.UITableView ================================================== UITableView有两种格式:group和plain 2.UITableView如何展示数据 ================================================== UITableView需要一个数据源(dataSource)来显示数据 凡是遵守UITableViewDataSource协议的OC对象,都可以是UITableView的

开始学习iOS开发

开始学习iOS开发了,从昨天开始看了「iOS Apprentice」的第一本,写了一个简单的小游戏,虽然之前也看过一些iOS开发的相关东西,但是系统的看书学这是第一次(之前看了两节斯坦福大学的公开课写了一个简单的计算器). 「iOS Apprentice」应该算是很好的入门书了,如果有一门面向对象语言的基础的话,看起来应该是很快的,我看第一本书(大概150页左右)加上编码的时间一共用了6小时,期间包括看官方文档查资料的时间,所以如果只是跟着书上来做的话时间应该会更少一点.看完了第一本书大概就知道