繁体   English   中英

如何将Objective-c中的数据类型与Swift协议匹配?

[英]How to match data types in Objective-c to Swift protocol?

尝试将Objective-c代码移植到Swift时,我对Swift还是一个新手。 我添加了桥接标头,并包括了所有必需的标头。 在我的Swift类中,我需要使用以下协议:

@protocol MyProtocolDelegate

- (void)doSomeStuff:(NSDictionary *)stuff;

@end

在我的Swift类中,我有以下代码:

func doSomeStuff(stuff:Dictionary<String,String>)
{
...
}

我在这里得到一个错误:

class ViewController: UIViewController,MyProtocolDelegate  <-- Type ViewController doesn't conform to protocol MyProtocolDelegate

有任何想法为什么我会收到此错误吗?

任何帮助都将受到高度赞赏!

如您[NSObject: AnyObject]! ,普通的NSDictionary *被桥接到[NSObject: AnyObject]!

要获取Dictionary<String,String> ,您必须在Objective-C中将其声明为

- (void)doSomeStuff:(nonnull NSDictionary<NSString *, NSString *> *)stuff;
func doSomeStuff(stuff: NSDictionary)

如果不想,则无需指定类型。

暂无
暂无

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

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