一.字符串的使用

let wiseWords = "\"I am a handsome\"-boy"
var emptyString = ""
if emptyString.isEmpty{
println("这是一个空值")
}

简单说明:isEmpty方法是用来判断字符串是否为空值的,之后会执行if语句中的println方法,因为emptyString是一个空的字符串。

注意:创建一个空的字符串有两种方法,一是如emptyString = "" ;另一种是通过字符串类实例化一个空的字符串 var emptyAnotherString = String().

假如我们想要遍历字符串中的每个字符,可以采用 for in,如:

for cha in "dog!"
{
println(cha)
}

通过playground可以看出有四个字符输出:分别是d、o、g、!.

如果想要获取一个字符串的字符数,可以利用countElements方法:

let unusualMenagerie = "Koala , Snail , Penguin , Dromedary "
println("unusualMenagerie has \(countElements(unusualMenagerie)) characters")

可以看到在playground中输出这么一段话:"unusualMenagerie has 36 characters".

字符串的大小写:

大写:uppercaseString

小写:lowercaseString

let normal =  "Could u help m,please?"
let shouty = normal.uppercaseString
let small = normal.lowercaseString

此时shouty = "COULD U HELP M,PLEASE?"而small = "could u help m,please?"

二:数组

首先定义一个可变数组:

//数组
var arr = ["dog","cat","cow"]

可以知道arr数组中包含三个元素,分别是dog、cat、cow

这个时候如果想在原有的数组中再插入一条数据,可以采用如下的方法实现:

//插入
arr.insert("dog", atIndex: 0)

 这条语句是在arr索引为0的位置插入dog值,此时的arr数组就有四个有效值,分别是dog、dog、cat、cow

移除数组中指定位置的值(假如移除索引为1处的值):

//移除
let sub = arr.removeAtIndex(1)

如果想要移除数组中最后一个元素的值:

//移除最后一个元素
let sub2 = arr.removeLast()

取出数组中的索引和对应的值:

//取索引和值
for (index,value) in enumerate(arr){
println("Item \(index + 1): \(value)")
}

可以在playground中清楚的看到打印结果如图示:

三:字典

字典类型写为字典<KeyType, valueType>,KeyType 可以用作字典键的数值类型,valueType 是 字典为那些键储存的数值类型。唯一的局限是 KeyType 必须是 hashable,基本类型(比如 String、Int、Double 和 Bool)都默认为是 hashable

初始化一个字典:

var animals : Dictionary<String,String> = ["dog":"狗", "cat":"猫" ,"cow":"牛"]

修改字典中某一个key对应的value有两种方式可以选择:

animals["dog"] = "这是一条狗"
animals.updateValue("小明", forKey: "perple")

其中updateValue(forKey:)的返回值是旧值

想要在原字典中添加一个键值对,可以直接以下面这种方式实现:

animals["perple"] = "人"

  

Swift学习字符串、数组、字典的更多相关文章

  1. Swift学习—字符串&数组&字典

    字符串 OC和Swift中字符串的区别 在OC中字符串类型时NSString,在Swift中字符串类型是String OC中字符串@"",Swift中字符串"" ...

  2. Swift(一,创建对象,类型推导,基本运算,逻辑,字符串,数组,字典)

    swift用起来刚开始感觉有点怪怪的,但用了一段时间觉得还是挺好用的,哈哈.毕竟都是要有一个过程的嘛. 我就写一些自己在使用swift的时候的注意点吧,如有不正之处,还请指正! 一.在开发中优先使用常 ...

  3. [Swift]JSON字符串与字典(Dictionary)、数组(Array)之间的相互转换

    1.JSON字符串与字典(Dictionary)之间的相互转换 import Foundation //JSON字符串转换为字典(Dictionary) func getDictionaryFromJ ...

  4. Object-C 语法 字符串 数组 字典 和常用函数 学习笔记

    字符串 //取子字符串 NSString *str1=@"今天的猪肉真贵,200块一斤"; NSString *sub1=[str1 substringFromIndex:4]; ...

  5. Swift JSON字符串和字典以及数组的互转

    1.JSONString转换为字典 // JSONString转换为字典 func getDictionaryFromJSONString(jsonString:String) ->NSDict ...

  6. IOS NS 字符串 数组 字典 文件 动态 静态 操作

    ios 常用字符串的操作   //将NSData转化为NSString        NSString* str = [[NSString alloc] initWithData:response e ...

  7. oc字符串+数组+字典操作题目

    1. 判断中间目录是否存在 (10分) 比如 传入字符串 @"/home/qianfeng/oc.txt" 和 @"qianfeng" 返回:YES 传入字符串 ...

  8. Swift 循环、数组 字典的遍历

    import Foundation // 数组声明 var arr = [String]() // 数组循环添加项 ...{ arr.append("Item \(index)") ...

  9. swift学习之数组

    首先数组的定义:以有序的方式存储同样类型的值 (1)数组的简写(shorthand)语法 你能够通过Array<Element>,在这里,Element时数组存储元素的值的类型.也能够通过 ...

随机推荐

  1. StarUML添加自定义approach和profile

    来源:fasiondog 添加Approch StarUML中的Approch也就是创建项目时的模板,其中预定义了所使用方法的模型和视图.StarUML默认Approach如下: StarUML的Ap ...

  2. 基于ARM-contexA9蜂鸣器驱动开发

    上次,我们写了一个LED的驱动程序,这一节,我们只需稍微改动一下就可以实现蜂鸣器的驱动,让我们来看看吧. 还是跟之前一样,先找电路图,找到电路板上对应的引脚和相关联的寄存器. 1.看电路图 (1)蜂鸣 ...

  3. int类型被强制转换成较低精度的byte类型

    公司的项目上线之前会进行代码合规性检查,其中很容易违反的一个规则就是“不要把原始类型转换成较低的精度”,实际开发的过程中,很多方法在处理数据时,尤其在做移位操作的时候,难免要把int类型转换成byte ...

  4. 使用Puppeteer抓取受限网站

    不要相信前端是安全的,今天简单验证一下,但是希望大家支持正版,支持原作者,毕竟写书不易. 安装Puppteer npm install --save puppeteer 选择目标网站 我们这里选择胡子 ...

  5. Struts,Spring,Hibernate三大框架的

    1.Hibernate工作原理及为什么要用? 原理: 1.读取并解析配置文件 2.读取并解析映射信息,创建SessionFactory 3.打开Session 4.创建事务Transation 5.持 ...

  6. easyui 在编辑状态下,动态修改其他列值。

    首先是自定义了一个方法uodateColumn更新列值 /** *自定义的修改列值方法 */ $.extend($.fn.datagrid.methods, { updateColumn: funct ...

  7. docker的安装和技巧

    工作了有一段时间,开发环境中需要docker环境,但是docker一直不算很熟,之前一直是利用yum安装,但是yum安装真的很费劲,所以总结了一些经验给大家: 1,利用yum直接安装 官网是直接给了y ...

  8. Day15 Javascipt内容补充

    JavaScript函数: 函数: function 函数名(a,b,c){ 执行代码 } 1,如何去找到标签 Dom直接选择器: 1,找到标签 #获取单个元素 document.getElement ...

  9. Webpack vs Browersify vs SystemJs for SPAs

    https://engineering.velocityapp.com/webpack-vs-browersify-vs-systemjs-for-spas-95b349a41fa0 Right no ...

  10. NewLife.Net——构建可靠的网络服务

    网络程序应该注册成为系统服务,以保证其自启动以及稳定可靠运行! 这一场,讲讲怎么建立一个生产级别的网络服务. 老规矩,先上源码:https://github.com/nnhy/NewLife.Net. ...