我无法从
objective-c访问我的swift扩展.
extension NSDictionary { func dictionaryAsJsonString() -> NSString { var err: NSError? var data = NSJSONSerialization.dataWithJSONObject(self,options: NSJSONWritingOptions.PrettyPrinted,error: &err) var string = NSString(data: data,encoding: NSUTF8StringEncoding) return string } }
我希望能够在我的.m文件中执行以下操作:
[dictionary dictionaryAsJsonString];
我知道我的导入工作正常,因为我能够访问我的其他swift对象.
解决方法
使用简单的词典很容易
20> extension Dictionary { 21. func toJSONString () -> String { return "my dictionary" } 22. } 23> ["a": 1,"b": 2].toJSONString() $R10: String = "my dictionary"
Apple文档没有提到在Objective-C类上使用扩展.