项目开发中偶然间看到这种比较枚举,之前没注意过,仔细研究了一下结果还挺有意思,我们可以用升降序相等来帮助理解比较结果。

NSString 两个字符串的比较,用 a compare:b 来比,得出的结果分3种

26个字母比较  越靠后面  越大

NSString *a = @"qweqwe";

NSString *b = @"qweasd";

BOOL result = [a compare:b];  //等同于if ([a compare:b options:NSNumericSearch])

if (result == NSOrderedSame) {          //NSOrderedSame = 0 完全一样

NSLog(@"a = b");

}else if(result == NSOrderedAscending)  // NSOrderedAscending = -1  升序

NSLog(@"a < b");

else{                                   //NSOrderedDescending = +1  降序

NSLog(@"a > b");

}

比较条件可以自行设置

  • NSCaseInsensitiveSearch  忽略大小写的比较字符串
  • NSNumericSearch       比较字符串的个数
  • NSLiteralSearch       区分大小写,进行完全比较

iOS比较枚举NSOrderedSame NSOrderedAscending NSOrderedDescending使用小结的更多相关文章

  1. iOS 键盘自适应(IQKeyboardManager)使用小结

    IQKeyboardManager Github地址 经常在开发一个应用程序,我们遇到了一个问题,iPhone的键盘上滑覆盖的UITextField / UITextView.IQKeyboardMa ...

  2. OC基础 - iOS在枚举赋值时为何采用左移格式

    枚举值 1 - iOS 枚举成员在赋值时往往是如下模式:左移对齐 2 - 为何这般设计 ?其一提高了阅读性:其二便于计算,能够更好的表达枚举值的含义 1 #import "ViewContr ...

  3. iOS/object-c: 枚举类型 enum,NS_ENUM,NS_OPTIONS

    一般情况下,我们采用C风格的enum关键字可以定义枚举类型. enum{ UIViewAnimationTransitionNone, UIViewAnimationTransitionFlipFro ...

  4. iOS 关于枚举的使用

    枚举值 它是一个整形(int)  并且,它不参与内存的占用和释放,枚举定义变量即可直接使用,不用初始化. 在代码中使用枚举的目的只有一个,那就是增加代码的可读性. 使用: 枚举的定义如下: typed ...

  5. iOS中枚举定义的三种方式

    最简单的方式 typedef enum{ num1 = 0, num2 = 1, num3 = 2 }num; 同时我们还可以使用NS_ENUM的方式定义枚举 typedef NS_ENUM (NSI ...

  6. 6、iOS快速枚举

    今天在写程序的时候想在当前视图跳转的时候释放掉当前视图上面add的一些子视图.因为add的子视图有些是在别的类里面add进来的,当前页面不知道自己当前有哪几个类型的子视图.这样,我就想到了用循环遍历来 ...

  7. ios对于枚举的使用

    引言: 枚举值 它是一个整形(int)  并且,它不参与内存的占用和释放,枚举定义变量即可直接使用,不用初始化. 在代码中使用枚举的目的只有一个,那就是增加代码的可读性. 使用: 枚举的定义如下: t ...

  8. iPhone/iOS开启个人热点的相关位置调整小结

    冬至已到,圣诞将近,最近公司项目实在太多,三四个项目反复的切换真的让人焦头烂额,趁今天有点空,把维护的三个项目顺利送出,刚好可以缕缕思路,记录一下最近遇到的问题.说不着急那是假的,客户一天天的催的确实 ...

  9. 关于 ios 动画枚举翻译

    例子 + (void)animateWithDuration:(NSTimeInterval)duration delay:(NSTimeInterval)delay options:(UIViewA ...

  10. iOS开发系列之四 - UITextView 使用方法小结

    // 初始化输入框并设置位置和大小 UITextView *textView = [[UITextView alloc] initWithFrame:CGRectMake(10, 10, 300, 1 ...

随机推荐

  1. 【Hadoop】3.3.1版本部署

    硬件环境: 虚拟机环境配置 硬件:1CPU + [RAM]4G + [DISK]128G 系统:Centos7 x64 这里没有像尚硅谷一样做地址映射解析,直接取IP(我太懒) 192.168.242 ...

  2. 【Spring Data JPA】06 全注解配置(非SpringBoot整合)

    总依赖组件坐标: <properties> <spring.version>5.2.8.RELEASE</spring.version> <hibernate ...

  3. 很好用的python游戏环境(续):强化学习算法走迷宫游戏环境(导航问题 navigation):分享一个python语言的迷宫游戏环境

    相关: 很好用的python游戏环境:强化学习算法走迷宫游戏环境(导航问题 navigation):分享一个python语言的迷宫游戏环境 前文分享了一个python下的maze游戏环境,本文再给出一 ...

  4. PyTorch+昇腾 共促AI生态创新发展

    原文链接: https://mp.weixin.qq.com/s/s8jNzTo0DM_LjyUwYDVgGg ============================================ ...

  5. python绘图库matplotlib:画线的标志marker的设置——类型/size/空心/边线颜色及大小/显示marker超出边界部分

    如题,最近有绘图的工作,要求就是使用python绘图库来画线并打上坐标点的标志,这时候就遇到了问题,这个线上的标志如果是实心的话就难以有区分度,但是设置为空心就需要考虑标志的边线粗细等问题,于是便有了 ...

  6. baselines算法库common/tile_images.py模块分析

    该模块只有一个函数,全部内容: import numpy as np def tile_images(img_nhwc): """ Tile N images into ...

  7. java中sleep与 yield 区别

    1.背景 在多线程的使用中你会看到这个两个方法sleep()与yield()这两方法有什么作用呢? 请看下面案例演示 2.测试 package com.ldp.demo01; import com.c ...

  8. AI编程助手那些事儿

    最近跟身边的程序员老杆子讨论需求时,惊奇的发现,他居然没使用AI编程助手.一时间有2个想法从大脑闪过,然后心里还带了一丝轻蔑: AI编程助手这么好的东西,你居然不用. 作为老程序员,你居然不跟上时代步 ...

  9. div上固定,下自适应;div左固定,右自适应

    ​ 一,上固定,下自适应 1,代码 <div class="all"> <div class="top">111</div> ...

  10. 关于Mongodb索引创建的一些体会

    mongodb索引分类以及创建我就不多说了,如果想了解可以直接在百度上搜索,这里我说一下关于索引创建的个人想法. 1.优先给一些Id类字段添加索引,查询时可以缩小扫描范围. 2.创建联合索引时,索引字 ...