文档章节

第01天OC语言(10):第一个OC类方法2

lyh2017iOS
 lyh2017iOS
发布于 2017/07/10 00:52
字数 428
阅读 2
收藏 0

#####二、代码

#import <Foundation/Foundation.h>

typedef enum
{
    kIColorBlack,       // 黑色
    kIColorWhite,       // 白色
    kIColorTuHaoJin,    // 土豪金
}IColor;

#pragma mark 类
@interface IPhone : NSObject
{
@public
    float _model;    // 型号
    int _cpu;        // cpu
    double _size;    // 尺寸
    IColor _color;      // 颜色  0代表黑色 1代表白色 2土豪金
}

-(void)about;
-(char *)loadMessage;
-(int) signal:(int)number;
- (int)sendMessageWithNumber:(int)number andContent:(char *)content;
+(int)sumWithValue1:(int)v1 andValue2:(int)v2;
+(void)demo;
//-(NSString *)colorWithNumber:(IColor)number;
+(NSString *)colorWithNumber:(IColor)number;
@end


#pragma mark 实现

@implementation IPhone
-(void)about
{
//    char *name;
    /*
    NSString *name;
    switch (_color) {
        case 0:
            name = @"黑色";
            break;
        case 1:
            name = @"白色";
            break;
        case 2:
            name = @"土豪金色";
            break;
            
        default:
            name = @"五颜六色";
            break;
    }
    */
//    IPhone *p = [IPhone new];
//    NSString *name =  [p colorWithNumber:_color];
    NSString *name = [IPhone colorWithNumber:_color];
//    NSLog(@"型号 = %f cpu = %i,尺寸 = %f, 颜色 =%i",_model,_cpu,_size,_color);
    NSLog(@"型号 = %f cpu = %i,尺寸 = %f, 颜色 =%@",_model,_cpu,_size,name);

}

// 工具方法, 根据传入的整数 返回对应的字符串
//-(NSString *)colorWithNumber:(IColor)number
+(NSString *)colorWithNumber:(IColor)number
{
    NSString *name;
    switch (number) {
        case 0:
            name = @"黑色";
            break;
        case 1:
            name = @"白色";
            break;
        case 2:
            name = @"土豪金色";
            break;
            
        default:
            name = @"五颜六色";
            break;
    }
    return name;
}
-(char *)loadMessage
{
    char *content = "老婆我们家我做主";
    return "lyh is cool";
}
-(int) signal:(int)number
{
    NSLog(@"打电话 %i",number);
    return 1;
}
- (int)sendMessageWithNumber:(int)number andContent:(char *)content
{
    NSLog(@"发短息 %i, 内容: %s",number,content);
    return 1;
}
+(int)sumWithValue1:(int)v1 andValue2:(int)v2;
{
    IPhone *p = [IPhone new];
    [p signal:123];
    return v1 + v2;
}

+(void)demo
{
    [IPhone sumWithValue1:30 andValue2:40];
}
@end


#pragma mark main函数
void text();
int main(int argc, const char * argv[])
{
    // 1.创建对象
    // 每次给iPhone类 发送一个new消息 都会开辟一块新的存储空间
    // 也就 意味着每次发送new 消息 创建出来的对象 都是一个新的对象
     IPhone *p = [IPhone new];
    p->_color = kIColorWhite;
    p->_cpu = 1;
    p->_size = 3.5;
    p->_model = 4;
    [p about];
    return 0;
}

void text()
{
    IPhone *p1 = [IPhone new];
    int res = [IPhone sumWithValue1:10 andValue2:20];
    NSLog(@"res = %i",res);
    
}

© 著作权归作者所有

共有 人打赏支持
lyh2017iOS
粉丝 1
博文 357
码字总数 137380
作品 0
朝阳
Native code support (Native Code(C和C++)支持)

1. WP 8和Win 8之间共享native代码 通过 Windows 运行时组件,可以在 Windows 应用商店和 Windows Phone 应用程序之间共享Native coad。由于windows phone 8和Windows 8没有共享所有的Windo...

失足处男的倒霉孩子
2013/12/26
779
0
Object-C基础-03-点语法

前言 在Java中,我们可以通过"对象名.成员变量名"来访问对象的公共成员变量,这个就称为"点语法"。比如: 1.在Student类的第2行定义了一个公共的成员变量age 1 public class Student {2 pub...

Corwien
2016/03/17
16
0
Object-C基础-02-第一个OC的类

一、语法简介 1.类 在Java中,我们用1个.java文件就可以描述清楚一个类;在OC中,一般用2个文件来描述一个类: 1> .h:类的声明文件,用于声明成员变量、方法。类的声明使用关键字@interfac...

Corwien
2016/03/17
22
0
Object-C基础-04-自定义构造方法和description方法

知识回顾 在第5讲中已经介绍了如何定义类和创建并初始化对象,比如有Student这个类 1.Student.h #import <Foundation/Foundation.h> @interface Student : NSObject { int _age;}- (void)se......

Corwien
2016/03/17
23
0
Swift编程权威指南第2版 读后收获

  自从参加工作一直在用OC做iOS开发。在2015年的时候苹果刚推出swift1.0不久,当时毕竟是新推出的语言,大家也都很有激情的学习。不过在学完后发现很难在实际项目中使用,再加上当时公司项...

滴水微澜
08/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

一次由HandlerInterceptor进行的深入思考

HandlerInterceptor 是SpringFramework为我们提供的拦截器,一般我们可以用来鉴权或者日志记录等。 它是一个interface,主要方法有: /** * Intercept the execution of a handler. Called...

kipeng300
31分钟前
1
0
cmd中查询mysql表出现中文乱码

问题:在pycharm中正常的fetchall拉取数据,能够正常显示,而在cmd中直接select却出现中文乱码。 解决思路:右键查看cmd命令窗口属性得到,cmd窗口默认编码是gbk(如下图所示),而设置的mys...

fang_faye
57分钟前
2
0
centOS 安装Python3与python2并存

centOS 安装Python3与python2并存 如果本机安装了python2,尽量不要管他,使用python3运行python脚本就好,因为可能有程序依赖目前的python2环境, 比如yum!!!!! 不要动现有的python2环...

MedivhXu
今天
2
0
Spring JdbcTemplate模板模式与回调结合分析

在看Spring的JdbcTemplate的时候,看到其将模板模式和回调模式结合使用的实现,可以精妙的解决很多的问题。详见Spring中涉及的设计模式总结中的关于模板模式和回调模式结合的具分析,本文利用...

宸明
今天
1
0
docker update:更新一个或多个容器的配置

更新容器的配置 docker update:更新一个或多个容器的配置。 具体内容请访问:https://docs.docker.com/engine/reference/commandline/update/#options 语法:docker update [OPTIONS] CONTA...

lwenhao
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部