ios-swift中变量值可选问题

问题描述

swift中变量值可选问题

var optionalString:String?="Hello String"
if var name2 = optionalString{
var greeting = "Hello, (name2)"
name2
println(name2)
}
var name3 = optionalString
println(name3)


上面代码中name2的输出值为Hello String
而name3的输出值为Optional("Hello String")
这是为什么?为什么name3的之中还有一个Optional?
同样,从字典中直接取某键值的值Dict["key"]也会有Optional,这是为什么?求教

解决方案

参考:http://blog.csdn.net/fengsh998/article/details/28904115

时间: 2024-12-31 14:16:58

ios-swift中变量值可选问题的相关文章

jquery 怎样设置spring form中变量值

问题描述 jquery 怎样设置spring form中变量值 代码如下: function firstPag(){ var firsts=5; firsts=firsts+5; jq(""#form1"").attr(""first""firsts); alert(""444444=""+jq(""#form1"").attr("&qu

Swift中 !和 ?的区别及使用_Swift

相信大家在学习和使用Swift的时候,肯定会被 ! 和  ? 搞疯过, 纠结这两个符号到底是个什么鬼 ?鬼知道什么时候使用!,什么时候使用? 下面就说一下! 和 ? 区别以及该怎么使用! ? 和 ! 到底是个啥 ? 和 ! 其实分别是Swift语言中对一种可选类型( Optional) 操作的语法糖. 那可选类型是干什么的呢? Swift中是可以声明一个没有初始值的属性, Swift中引入了可选类型(Optional)来解决这一问题.它的定义是通过在类型生命后加加一个 ? 操作符完成的. 例如:

手把手带你在 Swift 中应用代理(Delegate)

本文讲的是手把手带你在 Swift 中应用代理(Delegate), 什么是代理呢?在软件开发中,存在许多用于解决特定场景中的普遍问题的通用方案架构,这些所谓的"模板",常被称为设计模式. 代理就是一种设计模式,它允许某个对象在特定事件发生时,向另一个对象发送消息. 试想对象 A 调用对象 B 来执行某项操作.该操作完成后,对象 A 理应感知到对象 B 已经完成了任务以便采取后续的其它必要操作,而代理模式便能帮助我们完成这样的要求! 为了更好地理解这个概念,我将用 Swift 写一个简

[译] iOS 响应式编程:Swift 中的轻量级状态容器

本文讲的是[译] iOS 响应式编程:Swift 中的轻量级状态容器, 原文地址:Reactive iOS Programming: Lightweight State Containers in Swift 原文作者:Tyler Tillage 译文出自:掘金翻译计划 本文永久链接:github.com/xitu/gold-m- 译者:deepmissea 校对者:FlyOceanFish iOS 响应式编程:Swift 中的轻量级状态容器 事物的状态 在客户端架构如何工作上,每一个 iOS

[译]iOS 开发中使用 Swift 进行 iBeacons 交互指南

本文讲的是[译]iOS 开发中使用 Swift 进行 iBeacons 交互指南, 原文地址:A Guide to Interacting with iBeacons in iOS using Swift 原文作者:MATT NEDRICH 译文出自:掘金翻译计划 译者:lovelyCiTY 校对者:Gocy015.Danny1451 #iOS 开发中使用 Swift 进行 iBeacons 交互指南 我最近致力于研究一个关于 iBeacons 的 iOS 项目.本文中,我将全面的介绍如何使用 

[译]iOS开发者在Swift中应避免过度使用

本文讲的是[译]iOS开发者在Swift中应避免过度使用, 就在前几天,我终于把项目迁移到了Swift2.2,在使用SE-0022建议的#selector语句时,我遇到了一些问题.如果在protocol extension中使用#selector,这个protocol必须添加@Objc修饰符.而之前的Selector("method:")语句则不需要添加. 通过协议的扩展配置视图控制器 为了达到本文的目的,我简化了工作中项目的代码,但所有核心的思想都保留着.一种我经常在swift里用的

IOS开发: 在Swift中使用AFNetworking

 今天主要简单说一下如何在Swift工程中使用时下比较流行的AFNetworking请求框架.     由于目前AFNetworking目前还没有Swift版本,因此我们的工程使用cocoapod来安装AFNetworking. 这是我的Prodfile文件,cocoapod的使用方法跟使用OC是时候是一模一样的,为了方便,我们在工程中随便创建一个类,选择语言OC,我们会发现工程中会多出来一个SwiftStudy-Bridging-Header.h文件,删除创建的oc类,在这里引入   开发:

IOS开发:在Swift中使用JavaScript的方法和技巧

  在RedMonk发布的2015年1月编程语言排行榜中,Swift采纳率排名迅速飙升,从刚刚面世时的68位跃至22位,Objective-C仍然稳居TOP10,而JavaScript则凭借着其在iOS平台上原生体验优势成为了年度最火热的编程语言. 开发:在Swift中使用JavaScript的方法和技巧-"> 而早在2013年苹果发布的OS X Mavericks和iOS 7两大系统中便均已加入了JavaScriptCore框架,能够让开发者轻松.快捷.安全地使用JavaScript语言

Swift中使用可选类型完美解决占位问题

  这篇文章主要介绍了Swift中使用可选类型完美解决占位问题,本文讲解了为Dictionary增加objectsForKeys函数.Swift中更简便的方法.内嵌可选类型等内容,需要的朋友可以参考下 可选类型是Swift中新引入的,功能很强大.在这篇博文里讨论的,是在Swift里,如何通过可选类型来保证强类型的安全性.作为例子,我们来创建一个Objective-C API的Swift版本,但实际上Swift本身并不需要这样的API. 为Dictionary增加objectsForKeys函数