李洪强iOS开发之OC[018]对象和方法之间的关系
2016-07-15 00:06
405 查看
//
// 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开发总结-Xcode常见错误
- 飞信系统4月29日升级后飞信机器人无法使用的解决办法
- iOS多线程编程——NSOperation的使用
- iOS本地推送使用
- iOS使用HealthKit框架实现获取今日步数
- iOS-Quartz2D画图
- iOS 苹果官方Demo合集
- iOS打包成 ipa包(简单粗暴方法)
- iOS常用宏命令大全
- iOS 图像压缩 图像选择的使用
- 推荐几个比较好的开源项目和开源库
- IOS常见的加密方式
- iOS 日历
- IOS Dev Intro - Image Resizing
- CodingNet - Learning - 13
- CodingNet - Learning - 12
- CodingNet - Learning - 11
- iOS 播放gif动态图的方式探讨
- nagios被监控机安装脚本
- 【iOS】tableView:viewForHeaderInSection: 方法未调用