Swift调用OC之NSArray

本文详细介绍了Swift和Objective-C之间的数据交互方法,包括NSArray与Array的转换、初始化、属性查询、元素获取及数组操作等核心内容。

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

//

// Swift调用OCNSArray

//

// 1.NSArrayArray的互相转换:

// 2.NSArray初始化

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

//   --获取成员个数

//   --获取数组第一个元素

//   --获取数组最后一个元素

//   --获取指定区间的子数组:objectsAtIndexes方法

//   --NSArray查询指定元素是否存在,返回Bool

//   --Array  查询指定元素是否存在,返回Bool

//   --NSArray查找的同时获得元素索引

//   --Array  查找的同时获得元素索引

//

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

import Foundation

 

//==========NSArrayArray的互相转换==========

let array1: [Int] = [1,2,3,4]

let nsArray1: NSArray = array1

let swiftArray1 = nsArray1 as [Int]

 

//可以将任一NSArray对象转换成Array,因为所有OC对象都是AnyObject类型

let array2: [AnyObject] = [4,2,1,5,3,"happy"]

let nsArray2: NSArray = array2

var swiftArray2 = nsArray2 as [AnyObject]

//转成swift数组后可以用swift数组的方法

swiftArray2 += [8,9]

 

//NSArray是静态数组,如需修改成员,要使用动态NS数组NSMutableArray

var swiftArray3: [Int] = [1,2,3,4]

var mutableArray = NSMutableArray(array: swiftArray3)

mutableArray.removeLastObject()

 

//==========     NSArray初始化     ==========

let swiftArray4 = [1,2,3,4]

let nsArray401 : NSArray = swiftArray4

let nsArray402 = NSArray(array: swiftArray4)

let nsArray403 = swiftArray4 as NSArray

 

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

//获取成员个数

swiftArray4.count

nsArray401.count

 

//获取数组第一个元素

swiftArray4.first       //{Some 1}

nsArray401.firstObject  //{Some 1}

nsArray401.firstObject! //1

 

//获取数组最后一个元素

swiftArray4.last

swiftArray4[swiftArray4.count-1]

nsArray401.lastObject

nsArray401.objectAtIndex(nsArray401.count-1)

nsArray401[nsArray401.count-1]

 

//获取指定区间的子数组:objectsAtIndexes方法

let range001 = NSRange(location: 0, length: 2)

let indexSet = NSIndexSet(indexesInRange:range001)

nsArray401.objectsAtIndexes(indexSet//[1, 2]

 

var i = 0, j = 1

swiftArray4[i...j//[1, 2]

 

//NSArray查询指定元素是否存在,返回Bool

nsArray401.containsObject(3)    //  true

nsArray401.containsObject("3"//  false

 

//Array查询指定元素是否存在,返回Bool

contains(swiftArray4, 3)

 

//NSArray查找的同时获得元素索引

i = 1

let index001 = nsArray401.indexOfObject(i)

ifindex001 == NSNotFound {

    println("index of \(i)not found")

}else{

    println("index of \(i)is \(index001)") //index of 1 is 0

}

 

//Array查找的同时获得元素索引

find(swiftArray4, 1)    //{Some 0}

find(swiftArray4, 1)!   //0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值