jjzjj

UserDefaults

全部标签

ios - 使用 UserDefaults 在 SKScenes 之间传递字符串

在我使用Swift开发的游戏中,我希望玩家能够在类似商店的场景中选择背景,从而更改每个SKScene的背景。我正在尝试使用UserDefaults来完成此操作,但由于某种原因它无法正常工作。下面是Shop场景的重要代码(我去掉了不相关的代码):importSpriteKitclassShopScene:SKScene{varbackNumber=90varbackRemainder=0varbackground=SKSpriteNode()varbackName:String="back1"overridefuncdidMove(toview:SKView){background.te

ios - 如何将响应数据设置到 TodayExtension 小部件中

尝试从服务访问响应数据以显示到TodayExtenstion小部件importFoundationstructMarketIndex:Codable{letindicesName:StringletindicesValue:StringletdateValue:StringletindicesChangeValue:StringletchangePercentage:StringletindexVolume:String?}structMarketIndexCache{staticletkey="MARKET_INDEX_KEY"staticfuncsave(_value:[Marke

arrays - 使用结构、数组和 UserDefaults (Swift)

我正在使用swift创建一个iOS应用程序,用户可以在其中播放音乐。我在.swift文件中创建了应用提供的歌曲结构和数组。structSong{vartitle:Stringvarartist:Stringvarlyrics:String}varsongs:[Song]=[Song(title:SongOneTitle",artist:"SongOneArtist",lyrics:""),Song(title:SongTwoTitle",artist:"SongTwoArtist",lyrics:"SongTwoLyrics"),Song(title:SongThreeTitle",a

swift - 如何使用全局结构进行单元测试?

我很清楚在单元测试中你生成输入属性将此属性传递给您要测试的方法将结果与您的预期结果进行比较但是,如果您有一个全局结构,例如游戏经验值和游戏关卡有私有(private)setter,不能修改。当应用程序启动时,我会自动从UserDefaults加载这些数据。当您无法更改输入时,如何测试访问该全局结构的方法?例子:importUIKit//GlobalstructwithprivatedatastructGameStatus{private(set)staticvarxp:Int=0private(set)staticvarlevel:Int=0///Holdsallwinningstat

ios - 如何将 Enum 保存到 UserDefaults?

我正在尝试将枚举保存到UserDefaults但无法成功,因为在dotrycatch中出现错误。我发现它与我的枚举有关,因为当我在类里面删除枚举时,它会像以前一样正常工作。classUser:NSObject,NSCoding{private(set)publicvarloginType:LoginType//someotherpropertiesinit(name:String,username:String,email:String,profileImage:UIImage?){//someotherinitsself.loginType=.email}init(name:Stri

ios - UserDefaults 线程在 Swift 中安全吗?如何检查?

UserDefaults在Swift中是线程安全的吗?如何检查?例如,如果有10个线程使用UserDafaults写入数据。我们如何检查它是线程安全的? 最佳答案 是的,它是:TheUserDefaultsclassisthread-safe.Reference来自苹果文档。 关于ios-UserDefaults线程在Swift中安全吗?如何检查?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/qu

swift - 如何将 Enum Case 值保存到 UserDefaults 以供进一步使用

如何将枚举大小写的值保存到UserDefaults?我试过但没有运气。我检查了多个站点,包括这个站点,但没有运气,它们都在Swift2或Objective-c中,我根本无法翻译。 最佳答案 使用符合属性列表的原始值创建枚举,例如IntenumExampleEnum:Int{casedefault1casedefault2casedefault3}隐式地第一种情况是0,第二种情况是1等等。现在您可以将(原始)值保存在UserDefaultsUserDefaults.standard.set(currentDefaultType.raw

swift - 具有 UserDefaults 的全局数据 - Swift

我想永久存储一个字符串并使用全局数据在多个接口(interface)Controller上访问它。这是我在按下按钮时设置字符串的代码。AllcodebelowisonInterfaceController1UserDefaults.standard.set("yellow",forKey:"newBingoColor")下面这段代码是在AwakeWithContext中:overridefuncawake(withContextcontext:Any?){super.awake(withContext:context)letnewBingoColorObject=UserDefault

ios - 无法在Beta 5中将Swift词典写入NSUserDefaults

我一直在开发一个应用程序,在这个应用程序中,我的用户使用默认值来保存一个字典,以便在程序中的其他地方使用。这从测试版1开始就一直很好地工作。现在,随着最新的更新(测试版5),这不再有效。看来他们已经消除了以这种方式保存一本快速字典的能力。但是,我可以坚持使用nsdictionary。下面是一个代码片段,它在2天前工作,现在被破坏了。varuserDefaults=NSUserDefaults.standardUserDefaults()userDefaults.setObject(allPlayersDict,forKey:"playerDict")userDefaults.synch

Swift 3/iOS 10/TodayExtension - UserDefaults 总是返回 nil

这是我在这个网站上的第一个问题。我有一个无法解决的问题。我正在开发一个带有today扩展的简单笔记应用程序。我在Swift2.2和iOS9中没有问题。问题只出现在iOS10上的Swift2.3和Swift3中。我遇到的问题如下:用户可以写笔记(保存在UserDefaults中)并打开通知中心并在TodayExtension中查看他的笔记。我有这些方法可以在UserDefaults中保存注释并从UserDefaults中检索它(我正在使用组,所以在我的应用程序和扩展的功能中,一切都设置好了-此外,我的对象当然需要NSCoding方法):openclassNoteManager:NSObj