【发布时间】:2019-01-03 16:22:23
【问题描述】:
我正在为应用程序使用 CRToast 类,在文档中,它说将选项声明为:
NSDictionary *options = @{
kCRToastTextKey : @"Hello World!",
kCRToastTextAlignmentKey : @(NSTextAlignmentCenter),
kCRToastBackgroundColorKey : [UIColor redColor],
kCRToastAnimationInTypeKey : @(CRToastAnimationTypeGravity),
kCRToastAnimationOutTypeKey : @(CRToastAnimationTypeGravity),
kCRToastAnimationInDirectionKey : @(CRToastAnimationDirectionLeft),
kCRToastAnimationOutDirectionKey : @(CRToastAnimationDirectionRight)
};
除了第一个键值对之外,我大部分时间都将代码转换为 swift。我收到一个语法错误,上面写着“Type 'NSString!'不符合协议'Hashable'”。我的快速翻译是:
var options = [kCRToastTextKey :"Hello World!",
kCRToastTextAlignmentKey : NSTextAlignment.Center,
kCRToastBackgroundColorKey : UIColor.redColor(),
kCRToastAnimationInTypeKey : CRToastAnimationType.Gravity,
kCRToastAnimationOutTypeKey : CRToastAnimationType.Gravity,
kCRToastAnimationInDirectionKey : CRToastAnimationDirection.Left,
kCRToastAnimationOutDirectionKey : CRToastAnimationDirection.Right]
更新: 我尝试在选项声明上方添加一行代码来创建一个 NSString
let text:NSString = "Hello World!"
然后用了
var options = [kCRToastTextKey :text,
可散列的消息消失了,现在我得到“'NSString' is not convertible to 'CRToastAnimationDirection'”
【问题讨论】:
-
如果删除第一个条目会怎样?
-
那横幅不是没有文字吗?这给了我一个错误,“'NSTextAlignment' 不能转换为 'CRToastAnimatonDirection'”
标签: objective-c swift translate