在oc中,如果要比较模型数组中的元素是否相等一般重新isEqual方法即可

  1. -(BOOL)isEqual:(id)object{
  2. if (self == object) {
  3. return YES;
  4. }
  5. if ([object isKindOfClass:[self class]]) {
  6. HXQHoldWorthModel *obj = (HXQHoldWorthModel *)object;
  7. return self.holdCount == obj.holdCount &&
  8. [self.userImg isEqualToString:obj.userImg]&&
  9. [self.realname isEqualToString:obj.realname]&&
  10. self.totalValue == obj.totalValue;
  11. }else{
  12. return NO;
  13. }
  14. }

在swift中已经如果要比较两个元素是否相等使用==,如果要比较两个model是否相等则需要遵守Equatable协议

  1. class HXQStockProfitModel: HandyJSON,Equatable {
  2. var userId: Int = 0
  3. var nickname: String = ""
  4. var userImg: String = ""
  5. var profit:Int = 0
  6. var title: String = ""
  7. /// json转模型结束后 可以在这里做一些操作
  8. func didFinishMapping() {
  9. title = "\(nickname)赚了\(profit)积分"
  10. }
  11. /// 遵守Equatable协议,并实现该方法 可以让model具有 == 功能
  12. static func == (lhs: HXQStockProfitModel, rhs: HXQStockProfitModel) -> Bool {
  13. return lhs.userId == rhs.userId &&
  14. lhs.nickname == rhs.nickname &&
  15. lhs.userImg == rhs.userImg &&
  16. lhs.profit == rhs.profit &&
  17. lhs.title == rhs.title
  18. }
  19. required init() {
  20. }
  21. }

这样在使用的时候可以直接==

  1. var profits = [HXQStockProfitModel](){
  2. didSet{
  3. //第一次赋值
  4. if oldValue.isEmpty {
  5. updateProfits()
  6. }else{ //更新值
  7. //list中内容与上次是否相同,不相同则更新
  8. if oldValue != profits{
  9. updateProfits()
  10. }
  11. }
  12. }
  13. }

iOS swift中比较模型数组是否相等的更多相关文章

  1. iOS -Swift 3.0 -Array(数组与可变数组相关属性及用法)

    // // ViewController.swift // Swift-Array // // Created by luorende on 16/9/12. // Copyright © 2016年 ...

  2. Swift中实现Array数组和NSArray数组的相互转换与遍历

    Array是Swift中的数组数据类型.而NSArray是OC中的数组数据类型.两者有差别有联系.在Swift中有时候难免会使用到OC中的一些东西.今天我们就来Swift中使用NSArray和Arra ...

  3. 【iOS】在Swift中使用JSONModel

    前言 首先所有的Model还是使用oc来写——看到这一句是不是想关网页了- - #,在swift里面直接写一直报错所以就将就用oc来写了,这里主要是分享一下搭配Alamofire使用的经验. 声明 欢 ...

  4. 如何在 iOS 8 中使用 Swift 实现本地通知(上)

    当你的应用在后台运行时,可以简单地使用本地通知把信息呈现给用户.它可以允许你显示 提醒.播放提示音和数字角标(badge).本地通知可以被以下的事件触发:计划好的时间点或者用户进入和离开某个地理区域. ...

  5. iOS swift HandyJSON组合Alamofire发起网络请求并转换成模型

    在swift开发中,发起网络请求大部分开发者应该都是使用Alamofire发起的网络请求,至于请求完成后JSON解析这一块有很多解决方案,我们今天这里使用HandyJSON来解析请求返回的数据并转化成 ...

  6. ios开发中的Swift面向对象

    iOS在现代计算机语言中,面向对象是非常重要的特性,Swift语言也提供了面向对象的支持.而且在Swift语言中,不仅类具有面向对象特性,结构体和枚举也都具有面向对象特性. 1.Swift中的类和结构 ...

  7. Swift中对C语言接口缓存的使用以及数组、字符串转为指针类型的方法

    由于Swift编程语言属于上层编程语言,而Swift中由于为了低层的高性能计算接口,所以往往需要C语言中的指针类型,由此,在Swift编程语言刚诞生的时候就有了UnsafePointer与Unsafe ...

  8. Swift中的数组

    学习来自<极客学院:Swift中的字符串和集合> 工具:Xcode6.4 直接上基础的示例代码,多敲多体会就会有收获:百看不如一敲,一敲就会 import Foundation //数组: ...

  9. IOS学习[Swift中跳转与传值]

    Swift中页面跳转与传值: 1.简单方式 首先,Swift的跳转可分为利用xib文件跳转与storyboard跳转两种方法,我这里选择使用storyboard的界面跳转方法. 1.通过在storyb ...

随机推荐

  1. 通过Roslyn动态生成程序集

    之前写过篇文章如何通过Roslyn构建自己的C#脚本,今天本来打算测试一下这部分API在新的版本中的变化,结果发现它的脚本引擎找不到了,翻了一下官方文档,貌似说暂时性的移除了.便看了一下它动态生成程序 ...

  2. SQL:将查询结果插入到另一个表的三种情况!

    一:如果要插入目标表不存在: select * into 目标表 from 表 where ... 二:如果要插入目标表已经存在: insert into 目的表 select * from 表 wh ...

  3. 让IE浏览器支持HTML5

    <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...

  4. android_我的第一个Android程序

    今天开始学Android开发,搞了一下午就完成了两个小功能,大部分时间都在调试.熟悉环境, Android开发环境对比VS无论是安装.使用.更新都不够方便,不过慢慢适应就好   完成功能如下: 功能一 ...

  5. npm的简单应用

    1.安装node 2.旧版node升级 (1)linux系统 sudo npm install npm -g (2)window系统 npm install npm -g 3.安装淘宝镜像cnpm(以 ...

  6. RUEI 13.1.1版本在OEL 5.7上的安装

    准备工作 ntp的工作和同步 /sbin/chkconfig --list | grep ntpd ntpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off /sb ...

  7. adb logcat通过包名过滤(dos命令find后跟变量)

    adb命令中似乎没有直接通过报名来过滤的功能,可是能够通过过滤进程的pid来过滤该应用的日志 过滤条件:该app在执行 实现原理: 1.获取该app执行时的pid 2.通过find命令,过滤pid的日 ...

  8. DL380 G6 BIOS刷新方法

    bios下载地址SP44873.exe (5.9 MB) http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareDescription.js ...

  9. 【译】你对position的了解有多少?

    此文根据Steven Bradley的<How Well Do You Understand CSS Positioning?>所译,整个译文带有我自己的理解与思想,如果译得不好或不对之处 ...

  10. POJ 2386 Lake Counting 搜索题解

    简单的深度搜索就能够了,看见有人说什么使用并查集,那简直是大算法小用了. 由于能够深搜而不用回溯.故此效率就是O(N*M)了. 技巧就是添加一个标志P,每次搜索到池塘,即有W字母,那么就觉得搜索到一个 ...