oc-15-枚举结构体

Cat.h

#import <Foundation/Foundation.h>
// 颜色的枚举

typedef enum{

  ColorBlack,
  ColorYeallow

} Color;
@interface Cat : NSObject
{
    @public
    float _weight;   // 体重
    Color hairColor; // 毛色
}

// 跳
- (void)jump;

// 吃
- (void)eat;
@end

Girl.h

#import <Foundation/Foundation.h>
#import "Cat.h"

// 生日
typedef struct
{
    int year;
    int month;
    int day;

}Birthday;

@interface Girl : NSObject
{
    @public
    NSString *_name;  // 名字
    Birthday _birth; // 生日
    BOOL _gender;     // 性别  1是男 0是女
    Cat *_cat;        // 猫
}

// 喂猫
- (void)feedWithCat:(Cat *)cat;

// 玩猫
- (void)playWithCat:(Cat *)cat;

// 展示女孩信息
- (void)show;
@end

Girl.m

#import "Girl.h"

@implementation Girl

// 喂猫
- (void)feedWithCat:(Cat *)cat
{
    NSLog(@"喂猫啦!!!!");
    [cat eat];
}

// 玩猫
- (void)playWithCat:(Cat *)cat
{
    NSLog(@"玩猫啦////");
    [cat jump];
}
// 展示女孩信息
- (void)show
{
    //访问结构体变量用->
    NSLog(@"女孩的名字:%@,生日:%d-%d-%d,性别:%d",_name,_birth->year,_birth->month,_birth->day,_gender);
}
@end
时间: 2024-10-10 15:11:52

oc-15-枚举结构体的相关文章

黑马程序员-------oc中的结构体

oc中的结构体主要有CGPoint,CGSize,CGRect,NSRange; /* Points. */ struct CGPoint { CGFloat x; CGFloat y; }; typedef struct CGPoint CGPoint; /* Sizes. */ struct CGSize { CGFloat width; CGFloat height; }; /* Rectangles. */ struct CGRect { CGPoint origin; CGSize s

关于OC中直接打印结构体,点(CGRect,CGSize,CGPoint,UIOffset)等数据类型

关于OC直接打印结构体,点(CGRect,CGSize,CGPoint,UIOffset)等数据类型,我们完全可以把其转换为OC对象来进项打印调试,而不必对结构体中的成员变量进行打印.就好比我们可以使用NSStringFromCGRect(CGRect rect)来直接打印一个结构体,其他打印可以参考以下内容 UIKIT_EXTERN NSString *NSStringFromCGPoint(CGPoint point); UIKIT_EXTERN NSString *NSStringFrom

5.Swift枚举|结构体|类|属性|方法|下标脚本|继承

1. 枚举: ->在Swift中依然适用整数来标示枚举值,需搭配case关键字 enum  Celebrity{  case DongXie,XiDu,Nandi,BeiGai }  // 从左到右对应0,1,2,3 enum CompassPoint { case North case South case East case West //enum中可以定义方法 func show(){ print(self) } } //定义enum 变量 var p = CompassPoint.Nor

OC Foundation框架—结构体

一.基本知识 Foundation—基础框架.框架中包含了很多开发中常用的数据类型,如结构体,枚举,类等,是其他ios框架的基础. 如果要想使用foundation框架中的数据类型,那么包含它的主头文件就可以了. 即#import<foundation/foundation.h> 补充:core foundation框架相对底层,里面的代码几乎都是c语言的,而foundation中是OC的. 二.常用的结构体介绍及简单使用 常用的结构体: (一)NSRang的基本使用 创建变量 (二)NSPo

c#笔记(十五)——枚举结构体

枚举类型的变量只有赋值之后才能使用,并且所赋的值必须是有效的:不同的枚举可以有相同的值,不会冲突,比如week.day和month.day; 结构体:使用结构体的成员时的格式:结构体类型变量.成员名        Person p ;                 p.name=nignyognbin; :结构体的成员都不允许直接初始化(不能直接赋值): 结构体中的变量是不可以直接赋值的,类中的字段可以直接赋值 枚举类型的变量只有赋值之后才能使用,并且所赋的值必须是有效的:不同的枚举可以有相同

C语言基础知识----联合 &amp;&amp; 枚举 &amp;&amp; 结构体

结构体 struct 结构体标签(可选) { 类型1 标识符1: 类型2 标识符2: ....... }(变量定义可选); 联合 union 可选的标签 { 类型1 标识符1: 类型2 标识符2: ........ }可选的变量定义: 联合与结构体相似,但内存布局上存在关键性的区别.结构体中每个成员顺序存储:而在联合中,所有的成员都是从偏移量为零处开始存储(位置是重叠的),并且在某一时刻,只有一个成员真正存储于改地址. 枚举(它用于声明一组命名的常数,当一个变量有几种可能的取值时,可以将它定义为

15、结构体练习

具体要求: A.从控制台循环录入任意个同学的信息跟成绩(学号,姓名,C语言分数)使用结构体 B.在控制台打印本班的总分和平均分,并打印本班最高分.最低分的学生信息 C.按成绩高低打印本班成绩册并排出名次 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace jiegouti2 { class Prog

构造类型:数组\枚举\结构体

#import <Foundation/Foundation.h>//结构体:构造类型,是一种自定义类型.//struct CPoint//struct 是关键字用来声明结构体 后面是结构体的名字 花括号里面的内容叫成员变量//{//    float x;//    float y;// //};// 以分号结尾 typedef struct car{////    char name[20];////    int number;////    float score;////}Ca;//

iOS学习笔记44-Swift(四)枚举和结构体

一.Swift的枚举 枚举是一系相关联的值定义的一个公共的组类型,同时能够让你在编程的时候在类型安全的情况下去使用这些值. Swift中的枚举比OC中的枚举强大得多, 因为Swift中的枚举是一等类型,它除了可以定义枚举值外,还可以在枚举中像类一样定义属性和方法 1. 简单枚举定义和使用 //定义枚举,使用enum关键字 enum Method{ case Add case Sub case Mul case Div } //可以连在一起写,成员之间用","隔开 enum Compas

结构体指针

结构体与指针 1.结构体指针的数值为某个结构体的内存空间的地址,从而指针指向某个结构体. 2.结构体指针的初始值为空(0),不指向任何结构体. 3.malloc操作:创建一个新的内存空间(从内存中选择一个内存空间存储结构体),p指向这个结构体,p的值为这个结构体的内存空间的地址. 4.结构体指针的赋值:一个结构体指针的数值等于另外一个结构体指针的数值,从而两个结构体指针指向相同的结构体.当对某个结构体进行访问时,选择的结构体指针只要满足该结构体指针指向这个结构体即可,即可以有很多种选择. 5.当