iOS swift中比较模型数组是否相等
在oc中,如果要比较模型数组中的元素是否相等一般重新isEqual方法即可
-(BOOL)isEqual:(id)object{
if (self == object) {
return YES;
}
if ([object isKindOfClass:[self class]]) {
HXQHoldWorthModel *obj = (HXQHoldWorthModel *)object;
return self.holdCount == obj.holdCount &&
[self.userImg isEqualToString:obj.userImg]&&
[self.realname isEqualToString:obj.realname]&&
self.totalValue == obj.totalValue;
}else{
return NO;
}
}
在swift中已经如果要比较两个元素是否相等使用==,如果要比较两个model是否相等则需要遵守Equatable协议
class HXQStockProfitModel: HandyJSON,Equatable {
var userId: Int = 0
var nickname: String = ""
var userImg: String = ""
var profit:Int = 0
var title: String = ""
/// json转模型结束后 可以在这里做一些操作
func didFinishMapping() {
title = "\(nickname)赚了\(profit)积分"
}
/// 遵守Equatable协议,并实现该方法 可以让model具有 == 功能
static func == (lhs: HXQStockProfitModel, rhs: HXQStockProfitModel) -> Bool {
return lhs.userId == rhs.userId &&
lhs.nickname == rhs.nickname &&
lhs.userImg == rhs.userImg &&
lhs.profit == rhs.profit &&
lhs.title == rhs.title
}
required init() {
}
}
这样在使用的时候可以直接==
var profits = [HXQStockProfitModel](){
didSet{
//第一次赋值
if oldValue.isEmpty {
updateProfits()
}else{ //更新值
//list中内容与上次是否相同,不相同则更新
if oldValue != profits{
updateProfits()
}
}
}
}
iOS swift中比较模型数组是否相等的更多相关文章
- iOS -Swift 3.0 -Array(数组与可变数组相关属性及用法)
// // ViewController.swift // Swift-Array // // Created by luorende on 16/9/12. // Copyright © 2016年 ...
- Swift中实现Array数组和NSArray数组的相互转换与遍历
Array是Swift中的数组数据类型.而NSArray是OC中的数组数据类型.两者有差别有联系.在Swift中有时候难免会使用到OC中的一些东西.今天我们就来Swift中使用NSArray和Arra ...
- 【iOS】在Swift中使用JSONModel
前言 首先所有的Model还是使用oc来写——看到这一句是不是想关网页了- - #,在swift里面直接写一直报错所以就将就用oc来写了,这里主要是分享一下搭配Alamofire使用的经验. 声明 欢 ...
- 如何在 iOS 8 中使用 Swift 实现本地通知(上)
当你的应用在后台运行时,可以简单地使用本地通知把信息呈现给用户.它可以允许你显示 提醒.播放提示音和数字角标(badge).本地通知可以被以下的事件触发:计划好的时间点或者用户进入和离开某个地理区域. ...
- iOS swift HandyJSON组合Alamofire发起网络请求并转换成模型
在swift开发中,发起网络请求大部分开发者应该都是使用Alamofire发起的网络请求,至于请求完成后JSON解析这一块有很多解决方案,我们今天这里使用HandyJSON来解析请求返回的数据并转化成 ...
- ios开发中的Swift面向对象
iOS在现代计算机语言中,面向对象是非常重要的特性,Swift语言也提供了面向对象的支持.而且在Swift语言中,不仅类具有面向对象特性,结构体和枚举也都具有面向对象特性. 1.Swift中的类和结构 ...
- Swift中对C语言接口缓存的使用以及数组、字符串转为指针类型的方法
由于Swift编程语言属于上层编程语言,而Swift中由于为了低层的高性能计算接口,所以往往需要C语言中的指针类型,由此,在Swift编程语言刚诞生的时候就有了UnsafePointer与Unsafe ...
- Swift中的数组
学习来自<极客学院:Swift中的字符串和集合> 工具:Xcode6.4 直接上基础的示例代码,多敲多体会就会有收获:百看不如一敲,一敲就会 import Foundation //数组: ...
- IOS学习[Swift中跳转与传值]
Swift中页面跳转与传值: 1.简单方式 首先,Swift的跳转可分为利用xib文件跳转与storyboard跳转两种方法,我这里选择使用storyboard的界面跳转方法. 1.通过在storyb ...
随机推荐
- [CF911B]Two Cakes
题目大意: 有两种蛋糕,分别被切成了a块和b块,要把这些蛋糕分到n个盘子里. 要求每个盘子里只能有一种蛋糕,每一种蛋糕都被分.问最优情况下,盘子里至少能放几个蛋糕. 思路: 二分答案. 由于每个蛋糕都 ...
- ios-真机调试出错信息
更新证书错误Code Sign error: Provisioning profile ‘XXXX'can't be found 在Xcode中当你在更新了你得证书 ...
- 函数指针&指针函数
https://blog.csdn.net/luoyayun361/article/details/80428882
- AJAX && JSON之讲解
Ajax技术的核心是XMLHttpRequest对象(简称XHR),可以通过使用XHR对象获取到服务器的数据,然后再通过DOM将数据插入到页面中呈现.虽然名字中包含XML,但Ajax通讯与数据格式无关 ...
- Mybatis c3p0 整合
1.下载c3p0 2.实现 UnpooledDataSourceFactory package com.joinhealth.esb.db; import org.apache.ibatis.data ...
- java 把json对象中转成map键值对
相关:Json对象与Json字符串的转化.JSON字符串与Java对象的转换 本文的目的是把json串转成map键值对存储,而且只存储叶节点的数据 比如json数据如下: {responseHeade ...
- Windows下pip安装scipy报错no lapack/blas resources found
Windows下升级了pandas,但是发现scipy包随后引用出错,后来确认需重新安装scipy, 在用pip安装scipy出现no lapack/blas resources found的错误. ...
- 转: Android微信智能心跳方案
http://mp.weixin.qq.com/s?__biz=MzAwNDY1ODY2OQ==&mid=207243549&idx=1&sn=4ebe4beb8123f1b5 ...
- Intellij IDEA 2017 破解
http://idea.lanyus.com/ https://www.cnblogs.com/wang1024/p/7485758.html
- Block系列2:Block内存管理
ViewController.h #import <UIKit/UIKit.h> @interface ViewController : UIViewController { UIImag ...