当前位置: 首页 > 面试题库 >

如何在不带“可选”的情况下从plist打印字符串?

单琛
2023-03-14
问题内容

我从plist中的字典中加载了一个值,但是当我将其打印到控制台时,它会打印:Optional(Monday Title),而不仅仅是“ Monday
Title”。

如何在打印时摆脱值的Optional()?

var plistPath = NSBundle.mainBundle().pathForResource("days", ofType: "plist")
var plistArray = NSArray(contentsOfFile: plistPath!) as NSArray!

    for obj: AnyObject in plistArray {
        if var dicInfo = obj as? NSDictionary {
            let todayTitle: AnyObject? = dicInfo.valueForKey("Title")
            println(todayTitle)
        }
    }

问题答案:

摆脱的一种方法Optional是使用感叹号:

println(todayTitle!)

但是,只有在确定存在该值的情况下,才应这样做。另一种方法是解包和使用条件,例如:

if let theTitle = todayTitle {
    println(theTitle)
}

将该程序粘贴到runswiftlang中进行演示:

let todayTitle : String? = "today"
println(todayTitle)
println(todayTitle!)
if let theTitle = todayTitle {
    println(theTitle)
}


 类似资料:
  • 问题内容: 我正在尝试修复这段代码,该代码是从具有车牌号和车主列表(该格式)的哈希图进行打印的。我试图通过printOwners()仅打印出所有者;但是我不能不打印重复的东西。 我已经玩了一段时间,但似乎无法跳过重复项。 这是我的代码: 问题答案: 要删除重复项,请使用: 或者使用Java 8 和方法:

  • 问题内容: 我已经在Swift 2中使用了这种方法 但是不知道如何在不使用 NSDictionary(contentsOfFile:path)的* 情况下在Swift3中读取plist * 问题答案: Swift的本机方法是使用 ~~~~ 您还可以使用类型强制转换: 但您明确地写道: 不使用NSDictionary(contentsOf … 基本上,不要在Swift中不进行强制转换而使用,您将丢弃

  • 以下是图片: 我有一个带有表单的html/jsp页面。 当用户按下提交按钮时,我想将表单中包含的信息发送到servlet,然后servlet将进行一些处理并返回字符串。 然后将该字符串发送到另一个servlet,该servlet将保存一个文件。 我已经将servlet保存到文件中: 我有两个问题: > 如何将值从servlet返回到调用它的HTML页面,并从那里访问它们?

  • 问题内容: 当我打印一个numpy数组时,我得到了一个截断的表示形式,但是我想要完整的数组。 有什么办法吗? 例子: 问题答案: 用途

  • 本文向大家介绍如何在Python中修剪掉字符串中不可打印的字符?,包括了如何在Python中修剪掉字符串中不可打印的字符?的使用技巧和注意事项,需要的朋友参考一下 如果只有ASCII字符,并且要删除不可打印的字符,最简单的方法是使用string.printable过滤掉那些字符。例如, 未打印0x01,因为它不是可打印字符。如果还需要支持Unicode,则需要使用Unicode数据模块和正则表达式

  • 问题内容: 如何在不使用任何预定义函数的情况下打印String的反面? 问题答案: 您可以递归或迭代(循环)进行。 反复: 递归地: