初见Objective—C
2017-02-15 23:56
113 查看
OC的第一门自学课,总结一下:
2.用new方法创建对象,系统会默认做:
一、为此类对象分配存储空间
二、初始化该对象的属性
三、返回该类对象的地址
3.类方法不可以直接访问成员变量,而对象方法可以直接访问成员变量
#import <Foundation/Foundation.h> //结构体,和类一样 //typedef struct //{ // int a; //}Date; typedef enum { Boy, Girl }sex; //C语言的枚举 //enum personSex //{ // man, // woman //}; @interface Person : NSObject { @public int _age; sex _sex; NSString *name; } -(void)introduceMyself:(int)age andSex:(sex)sex andName:(NSString *)name1; +(Boolean)answerQuestion:(int)num1 andNum2:(int)num2; @end @implementation Person -(void)introduceMyself:(int)age andSex:(sex)sex andName:(NSString *)name1 { NSString *personSex; switch (sex) { case Boy: personSex = @"Boy"; break; case Girl: personSex = @"Girl"; break; default: break; } //对象方法可以直接访问成员变量,例如下面就访问了name成员变量 NSLog(@"My name is %@ , I am %i ,and I am a %@",name,age,personSex); } +(Boolean)answerQuestion:(int)num1 andNum2:(int)num2 { if ((num1 + num2) > 10) { //类方法不能直接访问成员变量,例如_age成员变量 //num1 = num1 + num2 + _age; return 1; } else return NO; } @end int main(int argc, const char * argv[]) { Person *p = [Person new]; p->_age = 20; p->_sex = Girl; p->name = @"筝风放风筝"; //对象方法 [p introduceMyself:p->_age andSex:p->_sex andName:p->name]; //类方法 [Person answerQuestion:5 andNum2:6]; return 0; }
相关文章推荐
- iOS开发之用javascript调用oc方法而非url
- OC - 9.基于Quartz2D绘制下载进度条(demo)
- iOS设计模式:外观模式
- iOS Charts 集成步骤
- UITableView“优雅”支持不同类型的Cell
- Swift和Objective-C混编的注意啦
- 你真的看懂Objective-C宏定义了吗
- 论优雅的实现描边
- 谈UIView Animation编程艺术
- 一行代码集成今日头条效果
- 浅谈OC对象初始化的三种姿势
- JS与OC的简单交互
- Swift与OC真正去理解Block解决循环引用的技巧
- oc 的一些概念
- [代码例程] iPhone开发入门(7)--- 从C/C++语言到Objective-C语
- oc 数值转换
- OC @property 指示符assign、atomic、copy、retain、strong、week、等
- IOS 面试习题 Object-C
- objective-c block 讲解
- IOS求职之OC面试题