标签: optional-variables

如何在Java中处理对象的可选变量?

对于我的交易计划,我有一个商人类.给定的商家对象可能具有或可能不具有特定的特殊质量或特殊品质的捆绑.例如,一个Merchant对象可能具有Stockbroker质量,另一个Merchant可能具有Financial Services和Stockbroker质量,而另一个Merchant可能没有特殊质量.

我最初的想法是创建一个HashMap和一个Q​​ualities类,如下所示:

Map<Qualities, Boolean> merchantQualities = new HashMap<Qualities, Boolean>();
Run Code Online (Sandbox Code Playgroud)

唯一的问题是,商家至少有50种可能的特殊品质,因此从质量等级中分类所有品质会非常烦人.

是否有更好的方法来编码这些可选的特殊品质并在Merchants类中表示它们而不是HashMap并为Qualities类创建子类?

java optional-variables

2
推荐指数
1
解决办法
140
查看次数

Swift中的可选链接或三元表达式?

是否有更高效,可读或更现代的方式来编写以下内容?

let currentColor:UIColor = view.backgroundColor != nil 
  ? view.backgroundColor! // forced unwrapping
  : UIColor.whiteColor() // fallback value
Run Code Online (Sandbox Code Playgroud)

我不介意在这里使用三元运算符,但感觉我应该使用Swift if let currentColor = view.backgroundColor语法.我只是不确定如何指定默认值.

optional-variables uicolor swift

2
推荐指数
1
解决办法
2212
查看次数

C#中可选(VB)参数的替代方案?

我被告知在C#中没有可选参数这样的东西.但是您可以使用重载功能并使用默认值输入变量,例如:

void Person(string name, int age)
void Person(string name)
Run Code Online (Sandbox Code Playgroud)

void Person(string name, int age = 30)
Run Code Online (Sandbox Code Playgroud)

我的问题是,当从VB6调用C#组件时,重载方法往往会将名称更改为例如"Person(字符串名称),Person _1(字符串名称,int age)"等,并且当使用时不能使用具有默认值的变量"出"变量.

但是怎么样

void Person(string name, [Optional] int age)
Run Code Online (Sandbox Code Playgroud)

??

有人可以向我解释这项工作是如何使用它来模拟VB6中的可选变量吗?

c# vb6 com com-interop optional-variables

0
推荐指数
1
解决办法
645
查看次数

Swift中的全局变量和可选绑定

关于可选绑定,全局变量以及包装和展开,我有一些非常简单的疑问.由于我是SWIFT的新手,因此了解其概念的山雀和部分非常重要.

1)在Swift中,如果我声明一个全局变量,我有两个选项可以使它成为可选或非可选,所以让我有2-4个或更多的可选变量.所以可取的是绑定所有这些变量

viewDidLoad() method// so that I could use them without any problem of unwrapping and fatal error in my program.
Run Code Online (Sandbox Code Playgroud)

2)让我通过以下示例让自己更清楚 - 我的项目VC1和VC2中有2个VC.VC2有一个文本字段,用户在其中输入一些值并在VC1的tabelview中显示.

在Vc1

var namevc1 = NSMutableArray?//holds the input of textfield to be passed from VC2. 
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我的VC1是第一个在我的项目运行时加载的视图控制器,我使用一个可选变量来填充我的tabke vuew

'arr'
Run Code Online (Sandbox Code Playgroud)

所以当应用程序第一次运行时它是空的.因此,在代码中使用其值时可能会导致致命错误.那么它的解决方案是什么解决方案呢?

viewDidLoad() 
Run Code Online (Sandbox Code Playgroud)

方法或全部声明一个空的NSMutable数组类型来代替可选类型.

提前致谢.

optional-variables ios9 swift2

0
推荐指数
1
解决办法
1375
查看次数

标签 统计

optional-variables ×4

c# ×1

com ×1

com-interop ×1

ios9 ×1

java ×1

swift ×1

swift2 ×1

uicolor ×1

vb6 ×1