nsarray排序方法比对_nsarray 排序-爱代码爱编程
今天浏览到一位仁兄的帖子,提到了NSArray排序的问题,就根据自己总结写下了此篇帖子,同时附上自己的小demo,介绍一下NSArray关于排序方面的比对。个人感觉不适什么高深的知识,算是对api的使用。我归结为四种方法。
代码编织梦想
今天浏览到一位仁兄的帖子,提到了NSArray排序的问题,就根据自己总结写下了此篇帖子,同时附上自己的小demo,介绍一下NSArray关于排序方面的比对。个人感觉不适什么高深的知识,算是对api的使用。我归结为四种方法。
一、Massive AppDelegate AppDelegate 是应用程序的根对象,它连接应用程序和系统,确保应用程序与系统以及其他应用程序正确的交互,通常被认为是每个 iOS 项目的核心。随着开发的迭代升级,不断增加
一、umbrella framework 将多个已经封装好的 framework 封装成一个,封装的这种 framework 就是 umbrella framework。Apple 的官方文档中明确提到了不建议自己去创建
一、UIResponder App 使用响应者对象接收和处理事件,只有继承 UIResponder 的类,才能处理事件。UIApplication、UIView、UIViewController 都是继承自 UIRespo
一、如何重写 hash 方法 一个合理的 hash 方法要尽量让 hash 表中的元素均匀分布,来保证较高的查询性能。如果两个对象可以被视为同一个对象,那么它们的 hash 值要一样。这里给出一个普遍的算法(详情请参考:E
一、常规文件操作 常规文件操作(read/write)有以下重要步骤: 进程发起读文件请求; 内核通过查找进程文件符表,定位到内核已打开文件集上的文件信息,从而找到此文件的 inode; inode
一、Crash 类型 Crash 一般产生自 iOS 的微内核 Mach,然后在 BSD 层转换成 UNIX SIGABRT 信号,以标准 POSIX 信号的形式提供给用户。NSException 是使用者在处理 App
一、响应链事件 iOS 中的事件可分为:触摸事件(multitouch events)、加速计事件(accelerometer events)、远程控制事件(remote control events)。Event typeFirst responderTouch eventsThe view in which the touch occurredPre
一、DEBUG 宏区分调试模式和发布模式进行特殊处理 ① 利用 Configuration 配置不同的编译环境 一个应用往往对应多个域名的情况,测试地址、生产地址、后台接口开发者的个人主机地址:1.开发人员环境(Other)连接写服务人的电脑,与服务器联调使用 2.开发环境(Debug)完成需求,代码上传,在外网开发服务器调试 3.测试环境(Tes
一、消息转发 现有如下示例:id o = [NSObject new]; [o lastObject]; 执行上面代码,程序会崩溃并抛出以下异常:[NSObject lastObject]: unrecognized selector sent to instance 0x100200160 错误显而易见,实例对象 o 无法响应 lastObje
一、前言 Cocoapods 有很多比较实用的小插件,比如 cocoapods-open ( 执行 pod open 可以直接打开 .xcworkspace 文件),这些插件 gem 都有特定的目录分层。一开始以为自己要从零开始配置,后来发现 cocoapods-plugin 本身就提供了用来创建一个模版工程的 create 命令。输入以下命令即可创建一
一、CocoaPods 插件机制 ① Ruby 在 Ruby 中,类永远是开放的,总是可以将新的方法加入到已有的类中,除了自己的代码中,还可以用在标准库和内置类中,这个特性被称为 Ruby Open Classes。自定义一个类 Human,放在 human.rb 文件中:class Human def greeting pu
一、前言 Block 和 Delegate 是对象间传递消息的常用机制,这两个机制可以说是各有千秋。 Delegate 可以很方便把目标动作的执行过程划分为多个方法,以展现不同时间节点下特定的操作;Block 则擅长处理一个回调多个落点的情况,并且它可以通过捕捉上下文信息,来达到减少创建额外变量,集中消息处理逻辑的目的。结合以上两种通信方式的特点,我们可
一、Gitlab CI/CD 简介 ① GitLab GitLab 是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的 Git 项目仓库,可通过 Web 界面进行访问公开的或者私有的项目。GitLab 拥有与 GitHub 类似的功能,能够浏览源代码,管理缺陷和注释。GitLab 可以管理团队对仓库的访问,它非常易于浏览提交过
一、前言 Objective-C 使用引用计数作为 iPhone 应用的内存管理方案,引用计数相比 GC 更适用于内存不太充裕的场景,只需要收集与对象关联的局部信息来决定是否回收对象,而 GC 为了明确可达性,需要全局的对象信息。引用计数固然有其优越性,但也正是因为缺乏对全局对象信息的把控,导致 Objective-C 无法自动销毁陷入循环引用的对象。虽
一、前言 我们都知道 iOS 提供了三种主要的容器类型,它们分别是 Array、Set 和 Dictionary,用来存储一组值: Array:存储一组有序的值; Set:存储一组无序的、不重复的值; Dictionary:存储一组无序的键-值映射。 上图都是我们平时用到的基础容器。除此之外,iOS 提
一、NSProxy 简介 NSProxy 是一个实现了 NSObject 协议类似于 NSObject 的抽象基类,是根类,与 NSObject 类似:NS_ROOT_CLASS @interface NSProxy <NSObject> { Class isa; } + (id)alloc; + (id)allocWithZone
一、引言 作为一名开发人员,当编写代码时,我们会更多地关注逻辑和算法,而不是拼写和语法。但它也是我们编码的一个重要部分,特别是当从注释生成文档的时候。拼写检查帮助我们找出拼写错误,让我们有更多的时间关注代码逻辑。二、拼写检查能识别什么? 答案就是代码中与 Spelling and Grammer 相关的所有内容: 变量名 方法 类
一、前言 UITableView 的优化主要从四个方面入手: 提前计算并缓存好高度(布局),因为 tableView:heightForRowAtIndexPath: 是调用最频繁的方法; 滑动时按需加载,防止卡顿。这个在大量图片展示,网络加载的时候很管用,配合 SDWebImage; 异步绘制,遇到复杂界面,遇到性能瓶颈时,可能就是突
一、静态库与动态库 在项目中使用 pod 实现模块化,对于子模块和第三类库的导入方式存在两种:静态库、动态库。当在 podfile 中指定 use_frameworks! 时,子模块和第三方类库将被打包成 .framework 动态库,模块之间的代码不能直接引用,需要添加依赖; 反之(默认情况)将打包成 .a 静态库: 动态库和静态库的区别: