You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Swift+Xcode开发WebView遇报错:Argument passed to call that takes no arguments

解决SwiftUI中WebView的"Argument passed to call that takes no arguments"错误

你的编译错误源于两处代码问题,直接修正即可解决:

错误根源

  1. 错误调用了UIView的方法:UIView类本身不存在接收URLRequest参数的load方法,你需要调用的是WKWebView实例的load(_:)方法。
  2. 返回类型不明确:makeUIView返回some UIView导致updateUIView中的uiView类型无法被推断为WKWebView,无法直接调用WebView专属方法。

修正步骤

1. 明确makeUIView的返回类型

将返回值从some UIView改为WKWebView,让Swift自动推断UIViewType为WKWebView:

func makeUIView(context: Context) -> WKWebView {
    return WKWebView()
}

2. 正确调用WKWebView的加载方法

在updateUIView中,通过传入的uiView实例调用load(_:)方法,替代错误的UIView.load(request):

func updateUIView(_ uiView: WKWebView, context: Context) {
    let request = URLRequest(url: url)
    uiView.load(request)
}

可选优化:避免强制解包崩溃

原代码中URL(string: urlstring)!的强制解包可能因无效URL导致崩溃,建议用可选绑定处理:

VStack(spacing: 40) {
    if let url = URL(string: urlstring) {
        WebView(url: url).frame(height: 500.0)
            .cornerRadius(10)
    } else {
        Text("无效的URL")
    }
}

完整修正代码

//
//  ContentView.swift
//  GenuineApp
//
//  Created by Kennysoft-Macbook on 11/10/22.
//

import SwiftUI
import WebKit

struct ContentView: View {
    @State private var showWebView = false
    private let urlstring: String = "https://www.genuineict.com"
    var body: some View {
        VStack(spacing: 40) {
            if let url = URL(string: urlstring) {
                WebView(url: url).frame(height: 500.0)
                    .cornerRadius(10)
            } else {
                Text("无效的URL")
            }
        }
    }
}

struct WebView: UIViewRepresentable {
    var url:URL
    
    func makeUIView(context: Context) -> WKWebView {
        return WKWebView()
    }
    
    func updateUIView(_ uiView: WKWebView, context: Context) {
        let request = URLRequest(url: url)
        uiView.load(request)
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

内容的提问来源于stack exchange,提问作者Engr Okunola Kehinde

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 04:01:42