gpt4 book ai didi

ios - 将 NSJSONSerialization 从 Swift 转换为 Objc C

转载 作者:行者123 更新时间:2023-11-29 01:15:49 26 4
gpt4 key购买 nike

我正在尝试将 swift 代码转换为 Objective C ,因为 swift 自己处理错误,所以我对这里的转换有点困惑,这是 swift 代码:

  func connectionDidFinishLoading(connection: NSURLConnection){
DictonaryData = (try! NSJSONSerialization.JSONObjectWithData(main_data, options: NSJSONReadingOptions.MutableContainers)) as! NSDictionary
main_data = NSMutableData()
delegate!.connectionDidFinish(self.identifier)
}
}

这是 Objective C 代码

- (void)connectionDidFinishLoading:(NSURLConnection *)connection {

NSError *error = nil;

dictonaryData = (NSDictionary*)[NSJSONSerialization JSONObjectWithData:main_data options:NSJSONReadingMutableContainers error:&error];

}

在 swift 代码中,有代码 main_data = NSMutableData() delegate!.connectionDidFinish(self.identifier)
如何将这部分转换为 Objective C ?我对 swift 不熟悉。感谢您的帮助

最佳答案

main_data = [NSMutableData new];
[delegate connectionDidFinish:self.identifier];

还有

delegate!.connectionDidFinish(self.identifier)

如果未为委托(delegate)对象实现 connectionDidFinish 将会崩溃(与我的 objective-c 代码相同)。要修复崩溃,您需要将 Swift 实现更改为

delegate?.connectionDidFinish(self.identifier)

对于 objective-c:

if ([delegate respondsToSelector:@selector(connectionDidFinish:)]) {
[delegate connectionDidFinish:self.identifier];
}

关于ios - 将 NSJSONSerialization 从 Swift 转换为 Objc C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35200284/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com