文档章节

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

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

#####二、代码

#import <Foundation/Foundation.h>
#pragma mark 类

@interface IPhone : NSObject
{
@public
    float _model;    // 型号
    int _cpu;        // cpu
    double _size;    // 尺寸
    int _color;      // 颜色
}

-(void)about;

/*
 C语言的函数 :
 没有返回值没有参数的
 没有返回值参数的
 有返回值没有参数的
 有返回值有参数的
 
 OC的方法 :
 没有返回值没有参数的  - (void)text1;
 没有返回值参数的     - (void)text2WithNumber:(int)number;
 有返回值没有参数的   - (int)text3WithNumber;
 有返回值有参数的     - (int)text2WithNumber:(int)number andNumber2:(int)number2; // 多个参数
 */
//  有返回值没有参数的, 读取短信
-(char *)loadMessage;
// 有返回值有参数的, 打电话
//int signal(int number)
//call
// 注意 : OC中的方法如果有参数, 那么每个参数的数据类型前面添加上一个 :
// 注意 : 当前这个有参数的方法 他的方法名称 是 signal :
//          冒号也是方法名称的一部分
-(int) signal:(int)number;

// 有返回值并且多个参数的,发短信
// sendMessage(int number, char *content)
// 下面这个方法名称是 sendMessage::
//- (int)sendMessage:(int)number :(char *)content;
// 为了提高我们的阅读性, OC方法允许我们 给方法给每个参数添加一个表情,说明当前参数的含义
// 注意 : 标签也是方法名的一部分
// 方法名 是 sendMessageWithNumber:andContent:
- (int)sendMessageWithNumber:(int)number andContent:(char *)content;
@end


#pragma mark 实现

@implementation IPhone
// 行为的实现
-(void)about
{
//    NSLog(@"打印本机信息\n");
    // 如果在对象方法里面 想访问该对象的属性, 可以直接写上 _属性名称即可
    NSLog(@"型号 = %f cpu = %i,尺寸 = %f, 颜色 =%i",_model,_cpu,_size,_color);
}

-(char *)loadMessage
{
    char *content = "老婆我们家我做主";
    return "lyh is cool";
}
-(int) signal:(int)number
{
    NSLog(@"打电话 %i",number);
    return 1;
}
/*
- (int)sendMessage:(int)number :(char *)content
{
    NSLog(@"发短息 %i, 内容: %s",number,content);
    return 1;
}
 */
- (int)sendMessageWithNumber:(int)number andContent:(char *)content
{
    NSLog(@"发短息 %i, 内容: %s",number,content);
    return 1;
}
@end


#pragma mark main函数
int main(int argc, const char * argv[])
{
    IPhone *p = [IPhone new];
    p->_model = 4;
    p->_size = 3.5;
    p->_color = 0;
    p->_cpu = 1;
    
#warning 注意 : OC中的NSLog 对C语言的字符串支持不是很好,如果返回的是 中文的C语言字符串 可能输出的是乱码, 也有可能什么都不输出
    [p about];
    char *content = [p loadMessage];
    NSLog(@"content %s",content);
    
    [p signal:10010];
//    [p sendMessage:10010 :"fuck"];
    [p sendMessageWithNumber:10010 andContent:"hehe"];
    return 0;
}

输入图片说明

© 著作权归作者所有

共有 人打赏支持
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
Swift4.0基础知识回顾

简单介绍一下Swift Swift 语言由苹果公司在 2014 年推出,用来撰写 OS X 和 iOS 应用程序,Swift语言让应用开发更简单、更快、更稳定,确保最终应用有着更好的质量更多了解Swift可以去《The...

博行天下
2017/12/06
0
0
Swift2.0与OC混编实验--动态库(一)

完整的Demo下载 做了以下几个实验 验证Swift和OC的项目可以使用任意语言开发的动态库 1、创建了一个Swift语言的动态库 2、创建了一个OC语言的动态库 3、创建了一个SwiftApp项目,在项目中同时...

泊竹
2016/01/17
434
0
Swift编程权威指南第2版 读后收获

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

滴水微澜
08/14
0
0
Object-C基础-02-第一个OC的类

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

Corwien
2016/03/17
22
0

没有更多内容

加载失败,请刷新页面

加载更多

WinDbg

参考来自:http://www.cnit.net.cn/?id=225 SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols ctrl + d to open dump_file Microsoft (R) Windows Debugger Version 6.12.0002.633......

xueyuse0012
30分钟前
2
0
OSChina 周五乱弹 —— 想不想把92年的萝莉退货

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @罗马的王:分享松澤由美的单曲《地球ぎ》 很久没看圣斗士星矢了 《地球ぎ》- 松澤由美 手机党少年们想听歌,请使劲儿戳(这里) @开源中国首...

小小编辑
57分钟前
10
1
springBoot条件配置

本篇介绍下,如何通过springboot的条件配置,控制Bean的创建 介绍下开发环境 JDK版本1.8 springboot版本是1.5.2 开发工具为 intellij idea(2018.2) 开发环境为 15款MacBook Pro 前言 很多时候,...

贺小五
今天
1
0
javascript source map 的使用

之前发现VS.NET会为压缩的js文添加一个与文件名同名的.map文件,一直没有搞懂他是用来做什么的,直接删除掉运行时浏览器又会报错,后来google了一直才真正搞懂了这个小小的map文件背后的巨大...

粒子数反转
昨天
1
0
谈谈如何学Linux和它在如今社会的影响

昨天,还在农耕脑力社会,今天已经人工智能技术、大数据、信息技术的科技社会了,高速开展并迅速浸透到当今科技社会的各个方面,Linux日益成为人们信息时代的到来,更加考验我们对信息的处理程...

linux-tao
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部