文档章节

OC学习笔记八 enum struct

卧龙小
 卧龙小
发布于 2014/09/29 23:59
字数 401
阅读 39
收藏 0
点赞 0
评论 0

一.enum 枚举值

对于可以列举值的变量,可以用枚举值。比如性别,包含男女;星期 从一到星期天。

enum 定义格式:

typedef enum
{
    enum1,
    enum2=value,//value为整数类型
    enum3
}enum_name;


注意:

1.枚举通过内部成员名赋值为整型值

2.在缺省值的时候,枚举从零开始,即enum1=1,enum2=2 以此类推

3.如果某个成员名赋值,则下个成员标识符比前面一个的值大1.

typedef enum
{
    enum1,
    enum2=7,
    enum3,
    enum4='b',
    enum5
    
}ITest;

//通过成员变量名可以直接访问
NSLog(@"enum1=%d,enum2=%d,enum3=%d,enum4=%d,enum5=%d",enum1,enum2,enum3,enum4,enum5);

//输出结果
enum1=0,enum2=7,enum3=8,enum4=98,enum5=99


二.struct 结构体

结构体是一系列的成员变量组合在一起,有点类似于类的概念,在结构体中,每个变量都依次存储。

结构体的定义:

typedef struct
{
    数据类型 变量名1;
    数据类型 变量名2;
    数据类型 变量名3;//注意用“;”号    
}myStruct

注意:

结构体如果初始化后不能一次性赋值

typedef struct
{
    int year;
    int mouth;
    int day;
}myDate;

@interface TestStruct:NSObject
{
    @public
    myDate _myDate;
}
@end

@implementation TestStruct
@end

int main(int argc, const char * argv[])
{

    @autoreleasepool {
        
        TestStruct t = [TestStruct new];
        /*
        在new创建的想的过程总,会初始化成员变量
        myDate作为成员变量,再初始化struct后就不能一次性赋值
        */
        //t->_myDate={2011,9,3};//抛异常 expected expression
        
        //通过这种方式赋值,较快捷
        myDate dd ={2011,9,3};
        t->_myDate=dd;
         
        NSLog(@"year = %d , mouth = %d , day = %d",
        p->_myDate.year,
        p->_myDate.mouth,
        p->_myDate.day
        );
    }
    return 0;
}





© 著作权归作者所有

共有 人打赏支持
卧龙小
粉丝 42
博文 146
码字总数 70107
作品 0
西城
程序员
【swift 关键词】让我们牢记swift中的一些关键字用途

好记性不如烂笔头 学习swift 原英文版本 学习swift 翻译中文版 swift数据类型与oc比较 进入 退出swift 第一个关键字guard inout unowned lazy willSet didSet get set mutating Subscripts C...

创意总监 ⋅ 2016/05/25 ⋅ 0

RxSwift之路 1#Swift语法知识准备

在开始学习 RxSwift 之前,一定要对 Swift 相关语法有所了解,否则就很难理解为什么可以这样。关于 Swift 的学习其实只要看看 Swift 的官方文档就可够了。我之前也列过一些学习资源:来自一线...

没故事的卓同学 ⋅ 2017/07/11 ⋅ 0

初探swift语言的学习笔记七(swift 的关健词)

初探swift语言的学习笔记七(swift 的关健词) 原文地址:http://blog.csdn.net/fengsh998/article/details/32133809 转载请注明出处 每一种语言都有相应的关键词,每个关键词都有他独特的作用...

法斗斗 ⋅ 2016/03/03 ⋅ 0

初学objective-c之读书笔记(一)

基本语法: static定义在全局变量上时会改变其作用域,对应所在的局部范围。extern类似php中的global。 结构体struct定义了一个多维kv数组,枚举类型enum检测数据范围,两者通过typedef可封装...

_EKC ⋅ 2012/11/01 ⋅ 2

从YYModel源码中可以学到什么:前篇

前言 一个高性能模型框架。 作者在上给出的性能对比图(iphone 6 y:时间) :具体以下特点:高性能、自动类型转换、类型安全、非侵入性、轻量等。 关于如何使用查看文档和示例【传送门】。 本...

Owenli_千 ⋅ 2017/12/29 ⋅ 0

OC数据类型 enum NSRange NSPoint NSSize NSRect NSDate N

//------------------------------------------------ //可变的字典 NSMutableDictionary //第一种定义方式 返回一个空的字典 NSMutableDictionary mutableDict1 = [NSMutableDictionary di......

尘埃眠于光年yr ⋅ 2015/10/15 ⋅ 0

swift的数据类型到底是什么尿性 (说点别人没讲明白的)

文初: 如果你对swift的些许了解只局限在 swift中的类型使用struct取代class 多了Optional可选类型 这些最基础的认知,而对其底层设计的原因和原理了解甚少,那这篇文章会给你新的视角,让你...

CoderDancer ⋅ 2017/08/22 ⋅ 0

swift的学习笔记

数组,字典,集合 集合的交集、并集、减集,异或操作 枚举的Integer的递增属性: 声明类型: 注意的是,swift里的turple, array, dictionary都是按值传递的,而function, closure才是按地址传...

前端届的科比 ⋅ 2015/09/05 ⋅ 0

swift 中的 AnyObject 和 Any

诞生 swift 作为新起步的语言,必然抛不掉一些历史遗留包袱。用过 Objective-C 的同学肯定知道有一种叫做 id 的类型。他可以表示任意类的实例,编译器不会对其类型声明的变量进行检查。在用 ...

Inlight先森 ⋅ 2017/12/20 ⋅ 0

React Native 源码笔记——你知道几条?

ReactNative是Facebook开源的一种实现移动跨平台开发的解决方案,目前在业界得到广泛应用,这里有非常详细的中文使用指南。本文主要分享RN源码中一些值得大家学习或者借鉴的代码或者编写技巧...

oschina ⋅ 2016/07/18 ⋅ 4

没有更多内容

加载失败,请刷新页面

加载更多

下一页

CENTOS7防火墙命令记录

安装Firewall命令: yum install firewalld firewalld-config Firewall开启常见端口命令: firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --zone=public --add-po......

cavion ⋅ 29分钟前 ⋅ 0

【C++】【STL】利用chromo来测量程序运行时间与日志时间打印精确到微秒

直接上代码吧,没啥好说的。头疼。 #include <iostream>#include <string>#include <ctime>#include <sstream>#include <iomanip>#include <thread>#include <chrono>using ......

muqiusangyang ⋅ 32分钟前 ⋅ 0

Mac环境下svn的使用

在Windows环境中,我们一般使用TortoiseSVN来搭建svn环境。在Mac环境下,由于Mac自带了svn的服务器端和客户端功能,所以我们可以在不装任何第三方软件的前提下使用svn功能,不过还需做一下简...

故久呵呵 ⋅ 42分钟前 ⋅ 0

破解公司回应苹果“USB限制模式”:已攻破

本周四,苹果发表声明称 iOS 中加入了一项名为“USB 限制模式”的功能,可以防止 iPhone 在连接其他设备的时候被破解,并且强调这一功能并不是针对 FBI 等执法部门,为的是保护用户数据安全。...

六库科技 ⋅ 44分钟前 ⋅ 0

MyBtais整合Spring Boot整合,TypeHandler对枚举类(enum)处理

概要 问题描述 我想用枚举类来表示用户当前状态,枚举类由 code 和 msg 组成,但我只想把 code 保存到数据库,查询处理,能知道用户当前状态,这应该怎么做呢?在 Spring 整合MyBatis 的时候...

Wenyi_Feng ⋅ 今天 ⋅ 0

synchronized与Lock的区别

# <center>王梦龙的读书笔记第一篇</center> ## <center>-synchronized与Lock的区别</centre> ###一、从使用场景来说 + synchronized 是能够注释代码块、类、方法但是它的加锁是和解锁使用一......

我不想加班 ⋅ 今天 ⋅ 0

VConsole的使用

手机端控制台打印输出,方便bug的排查。 首先需要引入vconsole.min.js 文件,然后在文件中创造实例。就能直接使用了。 var vConsole = new VConsole(); vConsole的文件地址...

大美琴 ⋅ 今天 ⋅ 0

Java NIO之字符集

1 字符集和编解码的概念 首先,解释一下什么是字符集。顾名思义,就是字符的集合。它的初衷是把现实世界的符号映射为计算机可以理解的字节。比如我创造一个字符集,叫做sex字符集,就包含两个...

士别三日 ⋅ 今天 ⋅ 0

Spring Bean基础

1、Bean之间引用 <!--如果Bean配置在同一个XML文件中,使用local引用--><ref bean="someBean"/><!--如果Bean配置在不同的XML文件中,使用ref引用--><ref local="someBean"/> 其实两种......

霍淇滨 ⋅ 今天 ⋅ 0

05、基于Consul+Upsync+Nginx实现动态负载均衡

1、Consul环境搭建 下载consul_0.7.5_linux_amd64.zip到/usr/local/src目录 cd /usr/local/srcwget https://releases.hashicorp.com/consul/0.7.5/consul_0.7.5_linux_amd64.zip 解压consu......

北岩 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部