微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法访问UserDefaults数据

如何解决无法访问UserDefaults数据

我尝试访问通过应用程序组在使用UIKit创建的swift文件中从使用SwiftUI创建的swift文件中设置的变量。但这是行不通的。我做过与in this youtube video.

类似的事情

我的第一部分代码如下:

import UIKit
let sharedUserDefaults = UserDefaults(suiteName: SharedUserDefaults.suiteName)

class StartBildschirm: UIViewController {

     override func viewDidLoad() {
            super.viewDidLoad()
     let username = "Alex"
sharedUserDefaults?.set(username,forKey: SharedUserDefaults.Keys.username)
        guard let sharedUsername = sharedUserDefaults?.string(forKey: SharedUserDefaults.Keys.username) else {return}
        print("Shared username: \(sharedUsername)")
        }

我的结构如下:

import Foundation

struct SharedUserDefaults {
    static let suiteName = "group.co.xxxxxx"
    
    struct Keys {
        static let username = "username"
    }
    
}

还有我的Swift文件的扩展名,如下所示:

import WidgetKit
import SwiftUI
import Intents

let sharedUserDefaults = UserDefaults(suiteName: SharedUserDefaults.suiteName)
let sharedUsername = sharedUserDefaults?.string(forKey: SharedUserDefaults.Keys.username)

struct Provider: IntentTimelineProvider {
    func placeholder(in context: Context) -> SimpleEntry {
        SimpleEntry(date: Date(),configuration: ConfigurationIntent())
    }
deleted the code that is unnecessarily 

struct myTeamEntryView : View {
    var entry: Provider.Entry

var body: some View {
    Text(sharedUsername ?? "no")
    }
}

我的窗口小部件扩展名应显示sharedUsername,但不显示

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。