Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Ошибка Expressions are not allowed at the top level Swift

GriferGamer 123 Знаток (258), на голосовании 3 месяца назад
Ошибка Expressions are not allowed at the top level на языке Swift
Вот код:
 import PlaygroundSupport 
import UIKit
let url = URL (string: "сыллка тут")
let mainView = UIWebView( )
mainView.loadRequest(URLRequest(url: url!))
PlaygroundPage.current.liveView = mainView
Голосование за лучший ответ
Professional Professional Мудрец (15985) 4 месяца назад
Ошибка "Expressions are not allowed at the top level" возникает в Swift, когда вы пытаетесь выполнять инструкции или выражения вне контекста функции, класса или структуры. В вашем случае ошибка возникает из-за выполнения некоторых выражений непосредственно на верхнем уровне файла. Это не допускается в Swift.

Чтобы исправить эту проблему, вы можете обернуть ваш код в функцию или изменить его структуру для правильного выполнения. Вот пример того, как можно модифицировать ваш код:

import PlaygroundSupport
import UIKit
import WebKit

// Объявляем функцию для выполнения вашего кода
func loadWebView() {
guard let url = URL(string: " https://www.example.com ") else {
print("Некорректная ссылка")
return
}

// Создаем WebView и загружаем URLRequest
let webView = WKWebView(frame: .zero)
webView.load(URLRequest(url: url))

// Отображаем WebView в Playground
PlaygroundPage.current.liveView = webView
}

// Вызываем функцию для выполнения кода
loadWebView()


Основные изменения:
1. Я заменил UIWebView на WKWebView, поскольку UIWebView устарел и больше не поддерживается.
2. Весь функционал был обернут в функцию loadWebView().
3. Проверка URL на корректность была добавлена с использованием guard let.

Теперь этот код не будет вызывать ошибку "Expressions are not allowed at the top level" и корректно выполнит загрузку веб-страницы.
Похожие вопросы