繁体   English   中英

如何在swift中将int(enum)装入对象?

[英]How to box int (enum) to object in swift?

我需要将一个int转换为一个对象,在Objective-C中我可以执行以下操作

[row.cellConfig setObject:@(UITextFieldViewModeAlways) forKey:@"textField.rightViewMode"];

什么是Swift等价物?

UITextFieldViewModeAlways的Swift等价物是UITextFieldViewMode.Always ,它是一个枚举值:

enum UITextFieldViewMode : Int {
    case Never
    case WhileEditing
    case UnlessEditing
    case Always
}

您可以使用.rawValue获取其基础整数值。 当传递给采用Objective-C参数的函数(以及桥接到NSString Swift字符串)时,整数会自动“桥接”到NSNumber

所以这应该工作:

row.cellConfig.setObject(UITextFieldViewMode.Always.rawValue,
                forKey: "textField.rightViewMode")

有关更多信息,请参阅将Swift与Cocoa和Objective-C一起使用

采用

row.cellConfig.setObject(NSNumber(UITextFieldViewModeAlways), forKey:"textField.rightViewMode")

您需要为该int创建一个NSNumber对象。

NSNumber *intObj = [NSNumber numberWithInt:num];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM