文档章节

第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
iOS开发之OC与swift开发混编教程,代理的相互调用,block的实现。OC调用Swift中的代理, OC调用Swift中的Block 闭包

本文章将从两个方向分别介绍 OC 与 swift 混编 1. 第一个方向从 swift工程 中引入 oc类   1. 1 如何在swift的类中使用oc类 1.2 如何在swift中实现oc的代理方法 1.3 如何在swift中实现oc的B...

鸿鹄当高远
11/06
0
0
Object-C基础-02-第一个OC的类

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

Corwien
2016/03/17
22
0
Object-C基础-03-点语法

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

Corwien
2016/03/17
16
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

没有更多内容

加载失败,请刷新页面

加载更多

存储过程知识点收集

记录下,以后要常用的问题 1、获取刚刚插入数据产生的ID SCOPE_IDENTITY 返回当前作用域的插入后产生的一条ID @@IDENTITY 返回当前表的最后一条ID

轻轻的往前走
6分钟前
0
0
elixir keyword和map的区别

┌──────────────┬────────────┬───────────────────────┐ │ Keyword List │ Map/Struct │ HashDict (deprec...

wmzsonic
9分钟前
0
0
解决bootstrap-table-fixed-columns.js显示列与隐藏列按钮切换表格不对齐

<table class="table-striped table-hasthead nowrap" id="tableTest1" data-search="true" data-show-columns="true" data-fixed-columns="true" data-fixed-number="3"></table> 含有dat......

tianyawhl
11分钟前
0
0
ES6 系列之 defineProperty 与 proxy

摘要: ## 前言 我们或多或少都听过“数据绑定”这个词,“数据绑定”的关键在于监听数据的变化,可是对于这样一个对象:`var obj = {value: 1}`,我们该怎么知道 obj 发生了改变呢? ## def...

阿里云官方博客
17分钟前
0
0
美团点评携手 PingCAP 开启新一代数据库深度实践之旅

一、背景和现状 在美团,基于 MySQL 构建的传统关系型数据库服务已经难于支撑公司业务的爆发式增长,促使我们去探索更合理的数据存储方案和实践新的运维方式。随着近一两年来分布式数据库大放...

TiDB
17分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部