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

时间:2015-04-30 06:34:29

标签: ios swift

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

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

什么是Swift等价物?

3 个答案:

答案 0 :(得分:3)

Swift相当于UITextFieldViewModeAlways UITextFieldViewMode.Always,这是一个枚举值:

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

您使用.rawValue获取其基础整数值。 整数自动被桥接"通过后NSNumber 使用Objective-C参数(和Swift字符串)的函数 桥接到NSString)。

所以这应该有效:

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

有关详细信息,请参阅Using Swift with Cocoa and Objective-C

答案 1 :(得分:0)

使用

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

答案 2 :(得分:0)

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

NSNumber *intObj = [NSNumber numberWithInt:num];