OC 枚举】的更多相关文章

void test() { // 定义一种枚举类型 enum Season {spring, summer, autumn, winter}; // 定义一个枚举变量s enum Season s = winter; } void test1() { // 定义枚举类型的同时定义一个枚举变量s enum Season {spring, summer, autumn, winter} s = spring; } void test2() { , summer, autumn, winter} s…
适度给类型起别名能够让代码更加易懂,开发效率更高,可维护性更好. 一.typealias(别名) typealias用来给类型起别名. typealias Byte = Int8 typealias Short = Int16 typealias Long = Int64 typealias Date = (year: Int, month: Int, day: Int) func test(_ date: Date) { print(date.year) } test((2019, 6, 25…
面向对象总体概括: Swift 不仅能够面向过程编程,也能够面向对象编程(OOP).面向对象其实就是“以对象为核心”,把我们的客观世界想着是由一个个对象组成的,面向对象编程则为对象提供了属性和方法,属性就是为了描述对象的一些状态,方法则是告诉你对象该做什么.面向对象和核心就是“类”和“对象”!在我刚接触编程的时候,其实我也很容易把这东西混淆了,你要也是刚接触编程,能帮到你的,我觉得反而是时间.你要实在是有点难理解,就别去钻牛角尖,也许明天因为某个东西你就会恍然大悟.超喜欢那种感觉! 面向对象的三…
typedef NS_ENUM(类型,枚举名){        枚举名+值名,       枚举名+值名,}; 该方法定义的枚举,OC会自动把其转换成合适当前版本的枚举.如果枚举值可合并的话 NS_ENUM 要改成NS_OPTIONS,枚举值默认为0-n也可通过在值名后加入=number方式自定义.…
前言 iOS 5.0 之后,提供了新的枚举定义方式,定义枚举的同时,可以指定枚举中数据的类型. typedef NS_OPTIONS(_type, _name) new; -> 位移的,可以使用 按位或 设置数值 typedef NS_ENUM(_type, _name) new; -> 数字的,直接使用枚举设置数值 位移型枚举: 使用 按位或 可以给一个参数同时设置多个 "类型".在具体执行的时候,使用 按位与 可以判断具体的 "类型". OC 中 6…
背景 一直对OC中的位移操作枚举不太理解,查找到两篇介绍OC中枚举的文章,觉得很不错. 什么是位移操作枚举呢? typedef NS_OPTIONS(NSUInteger, UIViewAutoresizing) { UIViewAutoresizingNone = 0, UIViewAutoresizingFlexibleLeftMargin = 1 << 0, UIViewAutoresizingFlexibleWidth = 1 << 1, UIViewAutoresizin…
如果一个变量只有几种可能的值,比如星期有几天,一年有几个季节等.这个时候可以用枚举变量. 先定义类型再定义变量,如:enum siji{chun,xia,qiu,dong} 也可以定义匿名:enum{ chun,xia} yiyue,siyue; {}这里列出枚举的值,顺序从0开始,以此类推 oc允许将整数赋值给枚举变量. 我们定义一个类,来实现枚举的赋值和对比,顺便熟悉下类的实例化和类的方法的调用 // // Enum_Test.h // Test // // Created by 程英暾 o…
结构体和枚举都是一种存储复杂的数据.结构体是用户自定义的一种类型,不同类型的集合. 1.结构体的创建及使用 定义结构体类型 struct MyDate { int year; int month; int day; }; typedef struct MyDate MyDate; //如果不加这句话,每次调用这个MyDate的数据结构时,都需要加上struct 这个类型 结构体的调用 //在需要的地方调用即可 MyDate date = {2017, 7, 21}; NSLog(@"-----y…
结构体  枚举作类的成员属性: 定义一个学生类 性别 -- 枚举 生日 入学日期  毕业日期  --  结构体 代码示例: 声明文件 Student.h: #import <Foundation/Foundation.h> typedef struct { int year; int month; int day; } Date; typedef enum { kGenderGirl = , kGenderBoy = , kGenderChunGe = } Gender; @interface…
  一  常见枚举的定义: typedef enum { LOGIN_SUCCESS, USER_NAME, USER_PASSWORD, OLD_LAT, OLD_LNG }FIELD_SAVED;   二 在iOS6和Mac OS 10.8以后Apple引入了两个宏来重新定义这两个枚举类型,实际上是将enum定义和typedef合二为一,并且采用不同的宏来从代码角度来区分.  typedef NS_ENUM(NSInteger, UIViewAnimationTransition) { UI…
后台返枚举数据给app,app需要对不同枚举转换成字符串显示. 一般想到方法用 switch 根据不同枚举变量返回不同字符串,结果就是判断代码写得很长,不优雅.更简便方式有如下: typedef NS_ENUM(NSInteger, StatusType) { StatusTypeNormal = , // 正常 StatusTypeConnecting = , // 连接中 StatusTypeSuccess = , // 成功 StatusTypeFail = // 失败 }; const…
下面说下iOS的代码规范问题,如果大家觉得还不错,可以直接用到项目中,有不同意见 可以在下面讨论下. 相信很多人工作中最烦的就是代码不规范,命名不规范,曾经见过一个VC里有3个按钮被命名为button1.button2.button3,全文没有注释,去看代码逻辑才能知道这三个按钮的意思,我也是醉了! 下面的规范 有的定的比较死,大家可以根据自己团队的风格进行修改.该文章主要是OC的代码规范,有几个是Swift的规范. OC和Swift的代码规范如下: 一.VC生命周期 模块排列顺序 1. 注意…
一.Swift与OC区别: 1.swift程序的入口是UIApplicationMain; 2.OC的类是以.h和.m组成的;swift是一.swift结尾的; 3.OC的类是以@interface和@end开始结尾;swift是采用{}; 4.OC里语句结束以分号(;);swift里不需要分号,添加分号也不会出错; 5.OC中创建一个视图,采用alloc/init,swift采用(); 6.OC中创建视图采用initWithXXX;swift里变成(XXX:) 7.swift设置属性,全面采用…
一.Swift的枚举 枚举是一系相关联的值定义的一个公共的组类型,同时能够让你在编程的时候在类型安全的情况下去使用这些值.Swift中的枚举比OC中的枚举强大得多, 因为Swift中的枚举是一等类型,它除了可以定义枚举值外,还可以在枚举中像类一样定义属性和方法 1. 简单枚举定义和使用 //定义枚举,使用enum关键字 enum Method{ case Add case Sub case Mul case Div } //可以连在一起写,成员之间用","隔开 enum Compass…
本人之前学习过一年半ios开发 由于行情太过凄惨,故转前端.心在前端,苹果亦难忘!把我平时的笔记作出给大家总结! 回顾之前的知识 便利初始化函数:框架类库中的一些类有一系列的以init开头的方法,这些方法就是便利初始化函数.例如:NSString的initWithFormat,initWithString等.这些方法都遵循了一个命名规范,就是以init开头. 使用便利初始化函数创建对象首先还是要调用alloc 方法给对象分配内存空间,然后再初始化对象.代码还是比较繁琐的,有没有比较简单创建并初始…
1.  NSLog           是Foundation提供的一个输出函数,它的功能非常强大,不仅可以输出字符串,还可以输出各种对象,到后面程序还会见到大量的使用NSLog()函数. 2.  NS          是一个前缀,Cocoa对其所有函数.常量.类型前面都会增加“NS”前缀,该前缀用于区分该函数来自Cocoa,而不是来自其它程序包 3.常用扩展名 .c   C语言的源程序 .cpp  .cc    C++的源程序 .h    头文件 .m   oc源程序 .mm  oc++源程…
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…
开小差:最近发现自己有一个经验主义的毛病,不太容易接受新的知识,这对从事技术研发的人来说不太合理,需要改之. 正文:通过读写大量代码我有自己的一套编程思路和习惯,自认为自己的编码习惯还是不错的,代码结构也算清晰,因为我一直以来都是代码看的多写的多,但是总结的比较少,知识经常不成体系.以后多花点时间把自己的经验和学习知识加以总结一下吧,这样有利于去指导新人,也更有利于加深自己的知识认知.今天就从代码规范入手总结一下iOS开发中好的编码规范吧.我们在开发中看别人的代码的时候经常会去抱怨至少内心里骂娘…
@property内存管理策略的选择 1.非ARC 1> copy : 只用于NSString\block: 2> retain : 除NSString\block以外的OC对象: 3> assign : 基本数据类型.枚举.结构体(非OC对象),当2个对象相互引用,一端用retain,一端                   用assign. 2.ARC 1> copy : 只用于NSString\block: 2> strong : 除NSString\block以外的O…
1.项目经验 2.基础问题 3.指南认识 4.解决思路 ios开发三大块: 1.Oc基础 2.CocoaTouch框架 3.Xcode使用 -------------------- CocoaTouch Media Core Services Core OS -------------------- System Framework OC的类声明,定义域 OC关键字定义为  @class O-C特有的语句for(..in ..)迭代循环,其他的条件和循环语句和c一样 OC对面向对象的概述 (1)…
数据类型:基本数据类型.指针数据类型 基本数据类型:数值型.字符型(char).布尔型.空类型(void)指针数据类型:类(class).id数值型:整数类型int.浮点型float.doublec和oc的基本数据类型 int:声明整型变量 double:声明双精度变量 float:声明浮点型变量 char:声明字符型变量 id:通用的指针类型 enum:声明枚举类型 long:声明长整型变量或函数 short:声明短整型变量或函数 signed:声明有符号类型变量 struct:声明结构体变量…
swift中的结构体值可以是整型.浮点型.字符串.字符.元祖,如果不赋值默认为整型且从0开始计数,如果为整型枚举且要求不是从0开始只需指定枚举的第一个值以后的值自动依次加1 引用方式也与oc有所出入 //枚举定义 enum 枚举名 { case 标识符1,标识符2 case 标识符3(类型列表) case 标识符4=值 } //引用 枚举名.标识符 //或者直接 .标识符 枚举多类型读取 enum Barcode { case UPCA(Int, Int, Int) case QRCode(St…
联合 联合和结构的区别是,结构会为每个字段申请一片内存空间,而联合只是申请了一片内存空间然后所有字段都会保存到这片空间中,这片空间的大小由字段中最长的决定,下面我们就开始定义一个联合 //联合的定义 typedef union{ short count; float weight; float volume; } quantity; 联合的使用 我们可以通过很多的方式为联合赋值 typedef struct{ const char* color; quantity amount; }bike;…
OC NSFileManager(文件路径操作) 初始化 NSFileManager * fm = [NSFileManager defaultManager]; 获取当前目录 [fm currentDirectoryPath]; 更改当前目录 [fm changeCurrentDirectoryPath:@"/Users/xubaoaichiyu/Desktop"] 创建新目录 [fm createDirectoryAtPath:@"data" withInter…
OC NSDictionary NSDictionary初始化 NSDictionary * dict = [[NSDictionary alloc] initWithObjectsAndKeys:@"value1",@"key1",@"value2",@"key2", nil]; NSDictionary * dict2 = [NSDictionary dictionaryWithObjects:@[@"value…
# OC NSArray 数组 NSArray常用方法 获取数组中第一位元素 array.firstObject 获取数组中最后一个元素 array.lastObject 获取数组中指定索引下标的元素 [array objectAtIndex:1] 字面量的写法 array[1] //建议使用字面量写法,可读性好,高效 判断数组中是否包含某一项 - (BOOL)containsObject:(ObjectType)anObject; 如果要判断自定义类的数组中是否包含某一项需要重写该类的 - (…
1.OC数组和c数组的区别        C语言的数组:            相同类型变量的有序结合. 类型:可以是简答数据类型.构造数据类型                int     a[10];            int   *p[10];      1)NSArray是一个对象,是任意类型对象地址的集合        不能存放简单的数据类型(int, float, NSInteger-)        除非通过一些手段把简单数据类型变成对象.      2)C数组可以保存任意类型…
1.集合遍历 1> 遍历 集合(Collection):OC中提供的容器类:数组,字典,集合. 遍历:对集合中元素依次取出的过称叫做遍历. 三种方式:① for循环遍历: ② NSEnumerator遍历: ③ for...in遍历 2> for循环遍历 ① 数组遍历 原理:通过for循环的循环变量用作数组元素下标来获取不同下标的元素. 循环次数就是数组元素的个数. // 数组 ; i < arr.count; i++) { NSLog(@"%@", arr[i]);…
前言 在之前的一篇文章中简单的提到了这个问题, 但是自己写的不详细, 并且自己深入了解的也不是特别多, 在开发中也没怎么用到,所以经过阅读者的反馈对这个问题很是疑惑! 本篇文章会分析之前的不足之处, 如果有地方不对还请帮忙纠正! 相关文章: iOS开发中你是否遇到这些经验问题(二) 1.使用层面的理解 在这里首先讲如何简单的使用, 仅仅是使用层面(有理解错误的地方帮忙纠正), 然后我们在去理解位运算符! 在下面的图中我们可以看见枚举值中有<<(位运算符:左移): 如果我们在枚举值中看见<…
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)NSArray 1>NSArray :不可变数组 ①创建方法 NSArray *array = @[@"jack", @"rose"]; 注意点: OC数组不能存放nil值 OC数组只能存放OC对象.不能存放非OC对象类型,比如int.struct.enum等 这个array永远是空数组 NSArray *array = [NSA…