李洪强iOS开发之OC[018]对象和方法之间的关系




//
// main.m
// 18 - 对象和方法之间的关系
//
// Created by vic fan on 16/7/14.
// Copyright © 2016年 李洪强. All rights reserved.
//
/**
*
OC有参有返回值的方法
有参有返回值方法的声明
- (int)sum:(int)x andY:(int)y;
- (int)sum:(int)x andY:(int)y{
return x+y;
关系:
1 对象作为方法的参数;
显示人的信息的方法
- (void)showPerson:(Person *)person;
2 对象作为方法的返回值
变性方法
- (Person *)changeSex:(Person *)person;
*
*/
#import <Foundation/Foundation.h>
/**
* 类的声明
*/
/**
定义性别枚举
*/
typedef enum{
// 0 1 2
kSexWomen,kSexMan,kSexYao
}Sex;
@interface Person : NSObject{
@public
NSString *_name;//姓名
int _age;//年龄
Sex _sex;//性别
}
/**
* 方法的声明
*/
- (void)showPerson:(Person *)person;
- (Person *)changeSex:(Person *)person;
@end
@implementation Person
- (void)showPerson:(Person *)person{
NSLog(@"姓名: %@,年龄: %d,性别: %d",person->_name,person->_age,person->_sex);
}
- (Person *)changeSex:(Person *)person{
person->_sex = kSexWomen;
return person;
}
@end
int main(int argc, const char * argv[]) {
@autoreleasepool {
/**
* 创建对象
*/
Person *p = [Person new];
/**
* 给对象的实例变量赋值
*/
p->_age = 18;
p->_name = @"周杰伦";
p->_sex = kSexMan;
/**
* 调用方法
*/
[p showPerson:p];
NSLog(@"性别:%d",p->_sex);
Person *p2 = [p changeSex:p];
NSLog(@"性别: %d",p2->_sex);
}
return 0;
}
李洪强iOS开发之OC[018]对象和方法之间的关系的更多相关文章
- 李洪强iOS开发之OC[017]函数和方法的区别
// // main.m // 15 - 函数和对象的方法的区别 // // Created by vic fan on 16/7/12. // Copyright © 2016年 李洪强. ...
- 李洪强iOS开发之OC[014] -对象的存储细节
// // main.m // 13 - 对象的存储细节 // // Created by vic fan on 16/7/9. // Copyright © 2016年 李洪强. All r ...
- 李洪强iOS开发之OC[010] - 有参方法的声明实现和调用
// // main.m // 09 - 有参方法的声明实现和调用 // // Created by vic fan on 16/7/5. // Copyright © 2016年 李洪强. ...
- 李洪强iOS开发之OC[011] - 有参方法的声明实现以及调用练习
- 李洪强iOS开发之OC常见错误汇总
// // main.m // 16 - 常见错误汇总 // // Created by vic fan on 16/7/13. // Copyright © 2016年 李洪强. All r ...
- 李洪强iOS开发之OC[008] -创建一个对象并访问实例变量
// // main.m // 07 - 创建一个对象并且访问实例变量 // // Created by vic fan on 16/7/3. // Copyright © 2016年 李洪强 ...
- 李洪强iOS开发之OC[015]#pragma mark的使用
// // main.m // 14 - #pragma mark的使用 // // Created by vic fan on 16/7/10. // Copyright © 2016年 李 ...
- 李洪强iOS开发之OC[013] -类的创建的练习
// // main.m // 12 - 类的创建练习 // // Created by vic fan on 16/7/9. // Copyright © 2016年 李洪强. All ri ...
- 李洪强iOS开发之OC[012] -类的声明实现小结
// // main.m // 11 - 内容总结 // // Created by vic fan on 16/7/9. // Copyright © 2016年 李洪强. All righ ...
随机推荐
- js 验证电话号 座机及手机号
function CheckTel() { /*验证电话号码 验证规则:区号+号码,区号以0开头,3位或4位号码由7位或8位数字组成 区号与号码之间可以无连接符,也可以“-”连接 如010888888 ...
- MLlearning(2)——simHash算法
这篇文章主要讲simHash算法.这是一种LSH(Locality-Sensitive Hashing,局部敏感哈希)的简单实现.它是广泛用于数据去重的算法,可以用于相似网站.图片的检索.而且当两个样 ...
- 在使用masm32 rc编译资源文件.rc出现的问题
fatal error RC1004: unexpected end of file found 很蛋疼.然来是.h宏定义文件中.最后一行加个回车键即可.否则就提示这错误.
- 《RedHatLinux系统修复视频(通过本地镜像)》
此视频的测试环境: win7下安装的VMware redhatlinux6.3系统的修复 以删掉kernel系统引导故障重新安装kernel为例 基于本地镜像来对系统进行修复 如疑问可留 ...
- 利用cglib生成动态java bean
cglib详细学习 http://blog.csdn.net/u010150082/article/details/10901641 cglib-nodep jar报下载 http://grepcod ...
- [DevExpress]ChartControl之饼状图百分比示例
关键代码: using System; using System.Data; using System.Windows.Forms; using DevExpress.XtraCharts; name ...
- 同时存在两个或多个homestead 虚拟box
开发中发现,不同版本的homestead 里面的环境各不相同,里面的node,npm等版本都不一致,如果需要添加 不同版本的homestead同时存在可以按照以下办法处理. tips: 提供可以离线下 ...
- 批量修改数据sql
--insert into P_ZPROMOTION_DOC_ITEMS (AKTNR,MATNR,MINGROSS,MCRANK,MCUPRICE,MAXBAKTNR,MAXBPAMONT,MAXB ...
- Redis的PHP操作手册
String 类型操作 string是redis最基本的类型,而且string类型是二进制安全的.意思是redis的string可以包含任何数据.比如jpg图片或者序列化的对象 $redis-> ...
- phpcms v9 自定义分页 带下拉跳转
<?php function new_pages($num, $curr_page, $perpage = 20, $urlrule = '', $array = array(),$setpag ...