嗨,我正在学习Swift,我想从JSON Api中提取数据,我的Swift代码看起来像这样.具体来说,我需要提取每个键及其值,(例如:打印标题值,封面等).
//Json request
var error: NSError?
var raw = NSString.stringWithString("http://example.com/MovieAPI/api/v1/movies/")
var api_url = NSURL.URLWithString(raw)
let jsonData: NSData = NSData.dataWithContentsOfURL(api_url, options: nil, error: &error)
let result = NSJSONSerialization.JSONObjectWithData(jsonData, options: nil, error: &error)
as NSDictionary
for val in result {
for (var i=0; i < val.value.count; i++){
//println(val.value.valueAtIndex(3)) Not Working
}
}
Run Code Online (Sandbox Code Playgroud)
而我的JSON的结构是
{
data: [
{
id: 2,
title: "Hunger Games",
cover: "http://example.com",
genre: 2
}
]
}
Run Code Online (Sandbox Code Playgroud)
救命!
一个星期以来,我一直在解决这个问题,我对WKWebViewUIViewRepresentable进行了自定义
struct Webview : UIViewRepresentable {
var webview: WKWebView?
init() {
self.webview = WKWebView()
}
class Coordinator: NSObject, WKNavigationDelegate {
var parent: Webview
init(_ parent: Webview) {
self.parent = parent
}
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
print("Loading finished -- Delegate")
webView.evaluateJavaScript("document.documentElement.scrollHeight", completionHandler: { (height, error) in
print(height)
webView.bounds.size.height = height as! CGFloat
})
}
}
func makeCoordinator() -> Coordinator {
Coordinator(self)
}
func makeUIView(context: Context) -> WKWebView {
return webview!
}
func updateUIView(_ uiView: WKWebView, …Run Code Online (Sandbox Code Playgroud) 如何使用基本的UIView实现视差弹性标题效果?我已经搜索了类似的问题,但我发现只是使用TableView实现此效果而不是使用常规UIView.
这是它的样子.
我想这可能是上述应用程序的层次结构.
---SuperView---
-ScrollView-
-ImageView
-UIView(text content)
Run Code Online (Sandbox Code Playgroud) ios ×2
swift ×2
json ×1
nsdictionary ×1
parallax ×1
swiftui ×1
uiscrollview ×1
uiview ×1
wkwebview ×1