iOS 开发之IPad的设计与实现

//
//  main.m
//  6-ipad
//

#import <Foundation/Foundation.h>
#import "Ipad.h"
int main(int argc, const char * argv[])
{

    Ipad * ipad = [Ipad new];
    ipad->_color = IpadColorBlack;
    ipad->_size = 7.9;
    NSLog(@"%@",ipad);
    [ipad cameraWithFlashLightSatuts:IpadFlashLightStatusOpen];

    return 0;
}
#import <Foundation/Foundation.h>

enum IpadSize
{
    IpadSize9Point5,//屏幕尺寸9.5
    IpadSize7Point9,//屏幕尺寸7.9

};
typedef enum IpadSize IpadSize;

enum IpadColor
{
    IpadColorWhite,//用来存储Ipad的颜色白色
    IpadColorBlack //用来存储Ipad的颜色黑色
};

typedef enum IpadColor IpadColor;

enum IpadFlashLightStatus
{
    IpadFlashLightStatusOpen,//闪关灯开
    IpadFlashLightStatusClose,//闪光灯关
    IpadFlashLightStatusAuto//自动模式
};

typedef enum IpadFlashLightStatus IpadFlashLightStatus;

//记录电影播放的状态
enum IpadFilmPlayStatus
{
    IpadFilmPlayStatusStart,//状态:开始播放
    IpadFilmPlayStatusPause,//状态:暂停播放
    IpadFilmPlayStatusFastSpeed,//状态:快进
    IpadFilmPlayStatusSlowSpeed, //状态:快退
    IpadFilmPlayStatusLastFilm,//状态:上一部
    IpadFilmPlayStatusNextFilm //状态:下一部

};

typedef enum IpadFilmPlayStatus IpadFilmPlayStatus;

@interface Ipad : NSObject
{
@public
    /**用来存储Ipad的颜色*/
    IpadColor _color;

    /**用来存储Ipad的尺寸大小*/
    float _size;

    /**用来存储Ipad cpu的大小*/
    float _cpu;
    /**用来存储Ipad ram内部存储的大小*/
    float _ram;
}

//setter 方法
-(void)setIpadSize:(float)size;

/**打开闪光灯*/
-(void)openFlashLight;

/**关闭闪光灯*/
-(void)closeFlashLight;

/**自动模式*/
-(void)flaseLightAuto;

/**拍照*/
-(void)cameraWithFlashLightSatuts:(IpadFlashLightStatus)flashLightStatus;
/**看电影*/
-(void)filmWithPlayStatus:(IpadFilmPlayStatus)IpadFilmPlayStatus;
/**发邮件*/

-(void)downLoadSoft;

-(void)installSoft;

-(void)playGame;

-(void)listen;

-(void)searchInformation;

-(void)editWord;

@end
#import "Ipad.h"

@implementation Ipad

-(id)init
{
    self = [super init];
    if (self!=nil) {
        _cpu = 1.5;
        _ram = 1024;
    }
    return self;
}
/**打开闪光灯*/
-(void)openFlashLight
{
    //打开闪光灯
    NSLog(@"打开闪光灯");
}

/**关闭闪光灯*/
-(void)closeFlashLight
{
    //关闭闪光灯
    NSLog(@"关闭闪光灯");
}
/**自动模式*/
-(void)flaseLightAuto
{
    //自动模式
    NSLog(@"自动模式");
}
-(void)sendEmail
{

}
//拍照
-(void)cameraWithFlashLightSatuts:(IpadFlashLightStatus)flashLightStatus
{
    //self 关键字 谁调用指的就是谁 可以实现类的内部方法的调用
    if(flashLightStatus == IpadFlashLightStatusOpen)
    {
        [self openFlashLight];
        //打开摄像头
    }
    else if(flashLightStatus==IpadFlashLightStatusClose)
    {
        [self closeFlashLight];
        //关闭摄像头
    }
    else
    {
        [self flaseLightAuto];
        //自动模式
    }

    NSLog(@"拍照");

}

//看电影
-(void)filmWithPlayStatus:(IpadFilmPlayStatus)IpadFilmPlayStatus
{
    if(IpadFilmPlayStatus == IpadFilmPlayStatusStart){
        //开始播放电影
        NSLog(@"开始播放电影");
    }
    else if (IpadFilmPlayStatus == IpadFilmPlayStatusPause)
    {
        //暂停播放
        NSLog(@"暂停播放");
    }
    else if(IpadFilmPlayStatus == IpadFilmPlayStatusFastSpeed)
    {
        //快进
        NSLog(@"快进");
    }
    else if(IpadFilmPlayStatus == IpadFilmPlayStatusSlowSpeed)
    {
        //快退
        NSLog(@"快退");
    }
    else if(IpadFilmPlayStatus==IpadFilmPlayStatusLastFilm)
    {
        //上一部电影
        NSLog(@"播放上一部电影");
    }
    else if(IpadFilmPlayStatus == IpadFilmPlayStatusNextFilm)
    {
        //下一部电影
        NSLog(@"播放下一部电影");
    }
    else
    {
        //退出
        NSLog(@"退出");
    }

}
//setter 方法
-(void)setIpadSize:(float)size
{
    _size = 3.5;
}

-(void)downLoadSoft
{

}

-(void)installSoft
{

}

-(void)playGame
{

}

-(void)listen
{

}

-(void)searchInformation
{

}

-(void)editWord
{

}

//重写description方法
//这里重写方法要注意是重写的是对象方法还是类的方法
//用来调试

-(NSString *)description
{
    return [NSString stringWithFormat:@"size = %f cpu = %f ram = %f ",_size,_cpu,_ram];
}
@end

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-31 21:22:03

iOS 开发之IPad的设计与实现的相关文章

iOS开发之Auto Layout入门

随着iPhone6与iOS8的临近,适配的问题讲更加复杂,最近学习了一下Auto Layout的使用,与大家分享.  什么是Auto Layout? Auto Layout是iOS6发布后引入的一个全新的布局特性,其目的是弥补以往Autoresizing在布局方面的不足之处,以及未来面对更多尺寸适配时界面布局可以更好的适应. 为什么要用Auto Layout? Autolayout能解决不同屏幕(iPhone4,iPhone5,iPad...)之间的适配问题. 在iPhone4时代开发者只需要适

iOS开发之MVVM在项目中的应用

今天写这篇博客是想达到抛砖引玉的作用,想与大家交流一下思想,相互学习,博文中有不足之处还望大家批评指正.本篇博客的内容沿袭以往博客的风格,也是以干货为主,偶尔扯扯咸蛋(哈哈~不好好工作又开始发表博客啦~). 由于本人项目经验有限,关于架构设计方面的东西理解有限,我个人对MVVM的理解主要是借鉴于之前的用过的MVC的Web框架~在学校的时候用过ThinkPHP框架,和SSH框架,都是MVC的架构模式,今天MVVM与传统的MVC可谓是极为相似,也可以说是兄弟关系,也就是一家人了. 说到架构设计和团队

李洪强IOS开发之-iOS经典面试题

李洪强IOS开发之-iOS经典面试题 写这篇文章的目的是因为前两天同学想应聘iOS开发,从网上找了iOS面试题和答案让我帮忙看看.我扫了一眼,倒吸了一口冷气,仔细一看,气的发抖.整篇题目30多个没有一个答案是对的,总结这篇面试题的作者对iOS机制根本就是一知半解就敢发到网上,不管有心还是无心都是坑害新人.所以在这里总结一下这几年面试别人和被别人面试遇到的一些我认为比较好的基础题目分享给大家,进阶题目在后续补充.我的理解如果有错漏请一定指出,非常感谢! 从12年开始做面试官到现在已经三个年头了,这

李洪强IOS开发之iOS好项目收集

李洪强IOS开发之iOS好项目收集 在这里收集一些最近出现的比较实用好玩的框架或者项目,会不断更新 项目 简述 日期 SCTableViewCell 类似与QQ侧滑删除Cell的Demo 201501018 JHChainableAnimations 可读性好使用方便的动画库,语法类似与Masonry,使用链式编程 20150506 awesome-ios-chart iOS平台下的各种图表组件 20150513 DevArticles iOS Animation 主流炫酷动画框架(特效)收集整

李洪强iOS开发之iOS好文章收集

李洪强iOS开发之iOS好文章收集 该文收集朋友们转发或自己的写的技术文章,如果你也有相关的好文章,欢迎留言,当好文章多的时候,我会对这些好文章进行分门别类 文章 简述 日期 直播服务配置 使用 nginx 和 rtmp 插件搭建视频直播和点播服务器 2015-05-12 20:13:00 iOS9适配技巧 图iOS9适配新技巧 2015-09-29 09:01 TextKit分页效果 图文混排 2015年6月1日 iPhone 6 / 6 Plus 设计·适配方案 屏幕适配 2014-11-2

【IOS开发之Objective-C】数据持久化--文件和归档

在OC中数据持久化的方式有多种,例如:写入一个文件再或是归档.写入文件的方式我们一般都可以直接读取文件中的数据.比如我把数据写进一个XX.txt文档里面.只有数据写入成功了我就可以直接读取这个文件了.但是这样对于一些用户关键的数据并不能起到保密的作用,如果需要保密还需要使用归档操作. 文件的操作 //首先声明一个字符串 NSString * str1 = @"123456789"; 方式一 直接使用方法: - (BOOL)writeToFile:(NSString *)path ato

IOS开发之TableView、多个TableViewCell、自定义Cell、Cell上画画(故事板+代码方式)

最近要做一个项目,有个账户设置界面,看了微博.微信.QQ,他们的账号设置都比较原生态没做什么处理.春雨医生的账号不错,做了许多处理.不说废话直接上代码. 第一步: //UserTableViewCell.h这里定义第一种Cell #import <UIKit/UIKit.h> @interface UserTableViewCell : UITableViewCell @property (weak, nonatomic) IBOutlet UIImageView *userviewcelli

IOS开发之copy的问题

copy的目的就是修改副本,修改原始对象和副本时不会产生干扰. 定义一个不可变属性A,再定义一个可变属性B.用B做添加删除等操作后再将B赋值给A时,有些人习惯用A = B:其实这样是不安全的. 假设有下面的一段代码: ? 1 2 3 4 5 6 7 8 9 10   int main() {    NSMutableString *strM = [NSMutableString [email protected]"123"];    NSString *str = strM;    N

iOS开发之WKWebView简单使用和常用使用场景

iOS开发之 WKWebVeiw使用 想用UIWebVeiw做的,但是突然想起来在iOS8中出了一个新的WKWebView,算是UIWebVeiw的升级版.本着对新事物的好奇,就上网查了一下,但是找了好多个都没说的多了详细,于是就问谷歌,找文档,看看使用方法,试用了一下,果然不错,记录下来,大家分享! WKWebView的特点: 性能高,稳定性好,占用的内存比较小, 支持JS交互 支持HTML5 新特性 可以添加进度条(然并卵,不好用,还是习惯第三方的). 支持内建手势, 据说高达60fps的刷