如何解决“在范围内找不到连接”错误(SQLite)?
Posted
技术标签:
【中文标题】如何解决“在范围内找不到连接”错误(SQLite)?【英文标题】:How do I resolve "Cannot find connection in scope" error (SQLite)? 【发布时间】:2022-01-21 04:53:57 【问题描述】:我正在尝试在我正在开发的一个小应用程序中使用 sqlite.swift,但我是 Swift 和 SQLite 的新手。我使用 CocoaPods 安装 sqlite.swift。我使用了这些命令:
sudo gem install cocoapods
pod setup --verbose
然后我导航到我的应用的目录并输入:
pod init
open -a Xcode Podfile
然后我将 pod 编辑如下:
platform :ios, '9.0'
target 'GeneralPractice (iOS)' do
pod 'SQLite.swift', '~> 0.13.1'
end
然后我打开应用工作区并将import sqlite3
添加到ContentView.swift
,然后在struct ContentView: View
之前添加此代码:
let path = NSSearchPathForDirectoriesInDomains(
.documentDirectory, .userDomainMask, true
).first!
let db = try Connection("\(path)/db.sqlite3")
当我运行应用程序时,我收到此错误:
“在范围内找不到‘连接’”
考虑到我对这个和 Swift 的陌生,我怀疑我犯了一些简单的错误,但非常感谢任何帮助解决这个问题。
【问题讨论】:
你导入库了吗,import SQLite
在ContentView.swift中?
有pod init
,但有pod install
吗?您是否在工作区的 Pods 文件夹中看到 SQLite.swift
?
我的 ContentView 文件有导入 sqlite3,而不是 sqlite。当我尝试手动输入 sqlite 时,出现错误。 Pods 文件夹确实有几行 SQLite.swift。它不显示为应用程序框架之一。
根据github.com/stephencelis/SQLite.swift 上的文档,您需要import SQLite
。模块本身在引擎盖下导入 sqlite3
【参考方案1】:
我终于解决了这个问题。正如 Kiril S. 建议的那样,SQLite.swift 仅在使用“import SQLite”时才有效。但是,据我所知,“导入 SQLite”只能在不包含视图的文件中使用而不会出错。当我在具有任何视图(如 ContentView.swift)的文件中使用“导入 SQLite”时,我会收到多条错误消息。如果我创建一个没有任何视图的新 Swift 文件,一切正常。
【讨论】:
以上是关于如何解决“在范围内找不到连接”错误(SQLite)?的主要内容,如果未能解决你的问题,请参考以下文章