Swift调用OC之NSSet

来源:互联网 发布:tango是什么软件 编辑:程序博客网 时间:2024/05/18 22:16

//*************************************

//

// Swift调用OCNSSet

//

// 1.NSSet是一个无序对象的集合,集合内元素是唯一

// 2.NSSet初始化

// 3.NSSet常用的属性和方法

// --获得集的元素个数

// --获得集中所有元素组成的数组

// --判断集合内是否存在指定元素-->返回Bool

// --判断是否存在指定元素-->返回该元素

// --判断当前集合是否指定集的子集

// --判断是否有交集

// --判断两个集是否相等--元素相等即相等,不判顺序

// --动态集NSMutableSet可以进行交、并、差集操作

// --集合元素计数

//

//*************************************

 

import Foundation

 

//======= NSSet初始化 ========

//使用数组初始化集,会自动将重复的元素去掉

let swiftArray1 = ["a","c","e","d","b","a","b"]

let nsSet1 =NSSet(array:swiftArray1)

println(nsSet1)

//输出:  {(

//       d,

//       b,

//       e,

//       c,

//       a

//       )}

 

//=======动态集 ========

var nsMutableSet1 =NSMutableSet(array:swiftArray1)

nsMutableSet1.addObject("t")

println(nsMutableSet1)

//输出:  {(

//       t,

//       c,

//       d,

//       e,

//       a,

//       b

//       )}

 

//========== NSSet常用的属性和方法===========

//获得集的元素个数

nsSet1.count   //5

 

//获得集中所有元素组成的数组

let arr1 =nsSet1.allObjects   //["c", "d", "e", "a","b"]

arr1[0]    //"c"

 

//判断集合内是否存在指定元素-->返回Bool

nsSet1.containsObject("d"//true

nsSet1.containsObject("D"//false

 

//判断是否存在指定元素-->返回该元素

nsSet1.member("D"//nil

nsSet1.member("d"//{Some "d"}

nsSet1.member("d")!//"d"

 

//判断当前集合是否指定集的子集

nsMutableSet1.isSubsetOfSet(nsSet1//false

nsSet1.isSubsetOfSet(nsMutableSet1//true

 

//判断是否有交集

nsSet1.intersectsSet(nsMutableSet1//true

 

//判断两个集是否相等--元素相等即相等,不判顺序

nsSet1.isEqualToSet(nsMutableSet1)   //false

ifnsSet1==nsMutableSet1 {

   println("Equal")

}else{println("notEqual") }

 

//动态集NSMutableSet可以进行交、并、差集操作

//交集

nsMutableSet1.intersectSet(nsSet1)   //nsMutableSet1现在为交集的结果

//并集

nsMutableSet1.unionSet(nsSet1)       //nsMutableSet1现在为并集的结果

//差集

nsMutableSet1.minusSet(nsSet1)       //nsMutableSet1现在为差集的结果

 

//集合元素计数,使用NSCountedSet类型

//元素添加到集中,计数+1,反之-1

var nscountSet2 =NSCountedSet()

nscountSet2.addObject("aa")

nscountSet2.addObject("aa")

nscountSet2.removeObject("aa")

nscountSet2.addObject("bb")

println(nscountSet2.countForObject("aa"))   //1

println(nscountSet2.countForObject("bb"))   //1


0 0