标签: optional

致命错误:在展开可选值时意外发现nil-为什么?

我对使用Swift进行编码非常陌生,我不太确定这里发生了什么-有人可以帮忙吗?

谢谢

import UIKit

class SecondViewController: UIViewController {

    var toDoItems:[String] = []


    @IBOutlet weak var toDoItem: UITextField!

    @IBAction func addItem(sender: AnyObject) {

        toDoItems.append(toDoItem.text)
fatal error: unexpectedly found nil while unwrapping an Optional value
(lldb) 

        println(toDoItems)



    }
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


}
Run Code Online (Sandbox Code Playgroud)

null optional swift

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

闭包作为Rust中的可选函数参数

是否可以将闭包作为函数中的可选参数?

我需要这样的东西(伪代码):

fn function(x: int, optional expr |int| -> int) -> int
Run Code Online (Sandbox Code Playgroud)

和用法将是这样的:

// just the mandatory argument
n = function(z);
Run Code Online (Sandbox Code Playgroud)

或者可选:

// passed closure would be called inside the function
n = function(z, |x| x * x);
Run Code Online (Sandbox Code Playgroud)

如果它甚至可能,我只是无法掌握正确的语法(会欣赏正确匹配表达式的完整示例).

closures optional-parameters argument-passing optional rust

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

标签中的Swift可选

我在这里有这个代码

let fundsreceived = String(stringInterpolationSegment: self.campaign?["CurrentFunds"]!)
cell.FundsReceivedLabel.text = "$\(funds received)"
Run Code Online (Sandbox Code Playgroud)

它正在打印出来 Optional(1000)

我已经添加!到变量但是可选项不会消失.知道我在这里做错了什么吗?

optional swift

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

从选项列表中删除空值后的C#结果类型列表

假设我有一个C#选项列表(这里称为x),我通过删除空值创建一个新列表(这里调用新列表y)

static void Main()
{
    var x = new List<long?> { 7, 8, 9, null, 10, null, 11 };
    var y = x.Where(e => e != null);
    Console.WriteLine("{0}", y);
}
Run Code Online (Sandbox Code Playgroud)

然后y推断出类型List<long?>.获得某种类型的惯用方法是List<long>什么?明确展开或显式投射?还是有更干净的方式?

在实际执行我处理的,这些值来作为自选项目的名单,我需要做的将这些名单下游集,所以"扯皮",以后续操作是不是我想做的事(虽然我可以在代码中稍后进行大量的空检查... yuk).我真的想要一个long-lists变量.如何在C#中最好地思考和处理?

c# linq optional

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

可选的类重构

我写了这个丑陋的生物:

Optional<Transaction> secondSide = findSecondSide(transaction.getId());
        if(secondSide.isPresent()) {
            secondSide.get().setFlag("Y");
            save(secondSide.get());
        }
Run Code Online (Sandbox Code Playgroud)

有没有办法可以重构这个,而不使用isPresent()get()

java optional

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

如何将Option <char>附加到字符串?

我正在使用一个match语句,.chars().next()并且如果它匹配某个字符,则想要将字符附加到字符串.我想这样做

keyword.push(line.chars().next()) 
Run Code Online (Sandbox Code Playgroud)

但得到一个错误:

expected type 'char' found type Option<<char>>
Run Code Online (Sandbox Code Playgroud)

我该如何将其附加到我的字符串上?

string char optional rust

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

OCaml选项返回值和选项匹配

我想编写一个接受自定义类的值的函数myType,然后返回myType option.不确定我的问题是签名,内容还是返回值.

例如,我试图编写以下内容(它已经简化,没有任何实际意义):

let rec myFunc (t:myType) myType option =
  let t2 = myFunc t in
    match t2 with
    | None -> None
    | _ -> t
Run Code Online (Sandbox Code Playgroud)

我收到以下编译错误:

错误:此模式匹配'a选项类型的值,但预期模式匹配类型'b - >'c - >'d的值

不确定我的语法有什么问题,或者我误解了OCaml.

ocaml ml match optional

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

在iOS Swift 3中调用它时如何使一些参数不需要的功能?

我想在没有这些必需参数的情况下创建函数:

func myMethod(Name name:String,Age age:Int){
    print(name)
}

//call
myMethod(Name:"Donald")
Run Code Online (Sandbox Code Playgroud)

这可以吗?

function optional swift

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

swift中的可选协议方法,不使用@objc

在swift中使用@objc,我们可以在协议中创建一个可选方法

@objc protocol MyProtocol {
  @objc optional func anOptionalMethod()
}
Run Code Online (Sandbox Code Playgroud)

但是如何在不使用@objc的情况下创建可选的协议方法?

methods protocols optional swift swift-extensions

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

Swift可选和double的默认值

我试图根据可选响应中的double设置文本提供程序的值.我觉得应该有一个更短的方法来做到这一点,但当我尝试使用默认值时,它坚持默认必须是一个双,我想要一个字符串来替换它.

伪代码:

If we have a current value 
    use it
 else
    use "--"
Run Code Online (Sandbox Code Playgroud)

我认为会起作用

let currentValue = uvProduct.currentValue()?.value
currentTextProvider = CLKSimpleTextProvider(text: String( currentValue ?? "--" ))
Run Code Online (Sandbox Code Playgroud)

目前的尝试

let currentValue = uvProduct.currentValue()?.value
let currentTextProvider : CLKSimpleTextProvider

if (currentValue != nil){
    currentTextProvider = CLKSimpleTextProvider(text: String( currentValue! ))
} else {
    currentTextProvider = CLKSimpleTextProvider(text: "--")
}
Run Code Online (Sandbox Code Playgroud)

optional swift

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