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

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

(1)声明一个Array数组。并进行遍历。代码例如以下:

    let stringArray: Array<String> = ["10", "20","30","40","50"]
        for index in stringArray{

            println(index)
        }
        

输出结果例如以下:

使用Swift遍历Array数组没有不论什么问题,能够使用for...in循环。

(2)声明一个NSArray数组,并进行遍历,代码例如以下:

     let stringNSArray: NSArray = ["10", "20","30","40","50"]

        for index in stringNSArray{

            println(index)
        }

输出结果例如以下:

可见NSArray数组也能够在Swift中直接进行声明并进行遍历。

(3)声明一个NSArray数组,转化为Array数组。再进行遍历:

   let stringNSArray: NSArray = ["10", "20","30","40","50"]
        let stringArray:[String] = stringNSArray as! [String]

        for index in stringArray{

            println(index)
        }

输出结果例如以下:

可见NSArray能够在类型转换后直接赋值给Array数组。然后也能够进行遍历。

(4)声明一个Array数组,转化为NSArray,再进行遍历:

     let stringArray: Array<String> = ["10", "20","30","40","50"]
        let stringNSArray:NSArray = stringArray
        for index in stringNSArray{

            println(index)
        }

输出结果例如以下:

能够看到Array数组也能够直接转化为NSArray。并进行遍历。

总结,Swift在数组方面Array非常好的兼容了OC中的NSArray。能够直接进行赋值转换。

github主页:https://github.com/chenyufeng1991  。

欢迎大家訪问!

时间: 2024-10-29 02:09:48

Swift中实现Array数组和NSArray数组的相互转换与遍历的相关文章

Swift中,把NSData转换为Byte数组的三种方法

最近做IOS开发需要从一个NSData中读出数据.但是找不到相关文档.网上搜索也有人问,我看到有Objective-C的答案,但基本上没有Swift的方案. NSData的bytes是UnsafePointer<Void>类型,我不知道怎样直接获取到他的值(如果你知道,请一定要告诉我). 所以我自己摸索了一下把NSData转换为[Byte]的方法,希望起到抛砖引玉的作用. 下面直接在PlayGround中演示: 最后我采用的当然是第三种方法: import Foundation var b:[

【Swift学习】Swift编程之旅---集合类型之数组(六)

swift提供了3种主要的集合类型,array,set,dictionary.本节介绍array. 数组是存储有序的相同类型的集合,相同的值可以多次出现在不同的位置. 注意: swift的Array类型桥接Foundation的NSArray类 数组类型简单语法 swift数组类型完整写作Array<Element>,Element是数组允许存储值的合法类型,你也可以简单的写作[Element].尽管两种形式在功能上是一样的, 但是我们推荐较短的那种,而且在本文中都会使用这种形式来使用数组.

Swift Explore - 关于 Swift 中的 isEqual 的一点探索

在我们进行 App 开发的时候,经常会用到的一个操作就是判断两个对象是否相等.比如两个字符串是否相等.而所谓的 相等 有着两层含义.一个是值相等,还有一个是引用相等.如果熟悉 Objective-C 开发的话,就会知道 Objective-C 为我们提供了一系列 isEqual: 方法来判断值相等,而 == 等于号用来判断引用相等. 我们来看一个 Objective-C 的例子就会更加明白了: NSArray *arr1 = @[@"cat",@"hat",@&qu

swift学习笔记-----swift中的指针

swift语言为了简化,把指针隐形化了.没有像OC中那样的" * ".把底层的问题交给C语言去处理,我们可以在swift中调用C 语言来解决.当然,OC也是可以调用的. 但是在某些场景下,这种调用可能不是很方便.比如,基于字节流的解析中,这时我们所接受的数据是要进行解析,可能用到指针.如果在C中去调用,当然也是可以的.但如果想写的简洁一些,用swift直接去处理这些,是否可以呢.那就要看在swift中是否很好的去使用指针呢. 事实上,swift是支持使用指针的.苹果已经公开了swift

[JavaScript]JavaScript中的Array

JavaScript中的Array 今天较全面地学习到了JS中的Array,也就是数组.写博文一篇来总结一下学习和使用过程中关于Array中的一些误区和常用API,加深一下印象. 关于Array最全面的API在此,MDN 阮一峰阮老师的Array教程 Array的定义 来自MDN的定义: JavaScript的Array对象是用于构造数组的全局对象,数组是类似于列表的高阶对象 来自阮一峰老师教程的定义: 数组(array)是按次序排列的一组值.每个值的位置都有编号(从0开始),整个数组用方括号表

Swift中数组和字典都是值类型

在 Swift 中,所有的基本类型:整数(Integer).浮点数(floating-point).布尔值(Boolean).字符串(string).数组(array)和字典(dictionary),都是值类型,并且在底层都是以结构体的形式所实现.类是引用类型. 1.测试数组是否为值类型 var testArray = [String]() testArray.append("AA") testArray.append("BB") testArray.append(

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

由于Swift编程语言属于上层编程语言,而Swift中由于为了低层的高性能计算接口,所以往往需要C语言中的指针类型,由此,在Swift编程语言刚诞生的时候就有了UnsafePointer与UnsafeMutablePointer类型,分别对应为const Type*类型与Type *类型. 而在Swift编程语言中,由于一般数组(Array)对象都无法直接用于C语言中含有指针类型的函数参数(比如:void*),所以往往需要将数组转为指针类型,此外也需要将数组中元素内容存放到连续的存储空间.此外,

让NSArray数组中每个对象都调用的方法

1. [array valueForKey:@"title"]; //Returns an array containing the results of invoking valueForKey: using key on each of the array's objects. 使数组中的每个对象都调用valueForKey:方法,并且将每个对象调用方法的结果依次存入一个新的数组中,然后返回 2. [self  setValuesForKeysWithDictionary:dict

OC中数组类NSArray的详解(二)

数组类的便利 1.for循环(大家都会的...) 2.NSEmunerator 3.for in 首先重点说下 第二种NSEmunerator枚举器,系统声明是 1 @interface NSEnumerator : NSObject <NSFastEnumeration> 2 3 - (id)nextObject; 4 5 @end 6 7 @interface NSEnumerator (NSExtendedEnumerator) 8 9 @property (readonly, copy