Swift:可选值中的可选文本 [英] Swift: Optional Text In Optional Value

查看:83
本文介绍了Swift:可选值中的可选文本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在显示时如何在不强制!的情况下删除可选值上的Optional("")文本.

How to remove Optional("") text on optional value when displaying without forcing to !.

更新

// I have somthing like this declared outside class
// I put question mark wrapper since I don't know when this session might have a value
var url = "\(self.session?.apiURL)/api/products.json"

// private session
private var _session:Session?

class MyClass
{
   .
   .
   .


   // the value of apiURL depends on session, session has optional value and declared as
   // custom lazy loaded var session
   var session:Session?
   {
      get
      {  
         if _session == nil 
         {
           _session = // fetch from coredata store if there is an active session. Might return nil

           // if no active session
           if _session == nil
           {
              // I just print "No active session"
           }
         }

         // return _session may or may not contain any value
         return _session
      }
   }
}

当会话具有值时,url具有值:

When the session has a value the url has a value:

Optional("my_api_url_here")/api/products.json

推荐答案

您可以使用??(空合并运算符)将其解包并提供默认值(如果为零)

you can use ?? (null coalescing operator) to unwrap it and provide a default value if it is nil

let sessionApiURL = self.session?.apiURL ?? ""
var url = "\(sessionApiURL)/api/products.json"

这篇关于Swift:可选值中的可选文本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆