草庐IT

nsuserdefaults

全部标签

swift - 如何在Swift中美化缓存 "pattern"?

我的Swift项目中有一个设置服务,它为我的应用程序中可用的所有设置定义了变量。为了仅在绝对必要时访问NSUserDefaults(为了避免不必要的延迟),我对这些设置使用了缓存变量:classSettingsService{structUserDefaults{staticletSetting1="Setting1"}privatevarsetting1Cache:Bool?varsetting1:Bool{get{ifletvalue=setting1Cache{returnvalue}letvalue=NSUserDefaults.standardUserDefaults().b

swift - NSUserDefaults 未加载 Today Extension (Swift)

我正在尝试制作一个TodayExtension,在主应用程序中,favorite正在从ar和ar2中正确写入和读取>。favorite是类Book的属性。但是,当我尝试从TodayExtension访问所有Book对象的数组的favorite属性时,ar和ar2是空的。主要应用:varfavorite:Bool{get{letar=NSUserDefaults.standardUserDefaults().stringArrayForKey("favorites")??[]letar2=NSUserDefaults(suiteName:"group.com.TodayExtension

ios - 如何在 swift 中使用 BLOB 将字节数组 [UInt8] 存储和检索到 sqlite3 数据库中?

letarr:[UInt8]=[0x14,0x00,0xAB,0x45,0x49,0x1F,0xEF,0x15,0xA8,0x89,0x78,0x0F,0x09,0xA9,0x07,0xB0,0x01,0x20,0x01,0x4E,0x38,0x32,0x35,0x56,0x20,0x20,0x20,0x00]我如何存储在sqlite3或NSUserDefaults我试过这样letarrData=NSData(bytes:&arr,length:(arr?.count)!)letd=NSUserDefaults.standardUserDefaults()d.setObject(arr

ios - Swift 项目需要很长时间才能构建。我能做些什么?

我不确定这是否可重现......我的swiftiOS项目需要很长时间才能构建。实际上,它并没有构建,进度条现在只在那里停留了大约15分钟:这真的很奇怪。这是我在构建它之前所做的:更改了版本和内部版本号归档项目在将存档上传到应用商店时编写了一些代码存档在上传后出现错误,所以我清理了项目再次存档我注意到我忘记将pod添加到项目设置中的链接二进制文件部分,所以我添加了它再次存档已上传到应用商店问thisquestion(我认为这不重要)现在,进度条就停留在那里。我该怎么做才能让它更快?附言昨天没多久就搭建好了。我今天只添加了几行代码,所以我不认为问题是因为我的项目太大了。可能是Xcode中的

arrays - 如何在 NSUserDefault swift 中保存/检索嵌套字典?

我正在构建一个应用程序,用户可以在其中创建UITableviewcell,这将导致用户可以编辑不同的UIViewController。我这样保存用户信息:level1Dictionary=[String:[String:String]]()如果用户命名为UITableViewCellDog,他们会转到viewController,然后我设置level1Dictionary[dog]=[String:String]()我现在将字典保存在NSUserdefaults中NSUserDefaults.StandardUserDefaults()setObject(level1Dictionar

Swift - 使用 UserDefaults 保存大量字符串

我有一个社交应用程序,用户可以在其中喜欢照片...因此,为了不等待从服务器获取数据,我想将包含照片的字符串数组存储到设备中objectIds..问题是,考虑到用户可以喜欢数千张照片,使用UserDefaults来实现这一点是一种好的做法吗? 最佳答案 编辑正如EricAya在评论中指出的那样,NSUserDefaults不会在应用程序启动时自动加载到内存中。NSUserDefaults在您的应用程序启动时加载到内存中如果您在NSUserDefaults中存储了特别大量的数据,那么您的应用程序启动加载NSUserDefaults所花费

ios - 将 deviceToken 保存到 NSUserDefaults

我正在尝试将设备token保存到NSUserDefaults但我做不到。我的代码:funcapplication(application:UIApplication,didRegisterForRemoteNotificationsWithDeviceTokendeviceToken:NSData){varcurrentToken=preferences.stringForKey(pushTokenKey)ifcurrentToken!=deviceToken{vardataString=NSString(data:deviceToken,encoding:NSUTF8StringEn

objective-c - NSUserDefaults Plist 在 Swift 中创建失败(但不是 Objective-C)

我正在将我的一个项目从Objective-C转换为Swift,但我遇到了一个奇怪的障碍。考虑以下代码(在-applicationDidFinishLaunching中执行)...Objective-C请原谅凌乱的一行[[NSUserDefaultsstandardUserDefaults]registerDefaults:[NSDictionarydictionaryWithContentsOfFile:[[NSBundlemainBundle]pathForResource:@"Defaults"ofType:@"plist"]]];在我的Objective-C项目中,这按预期工作。

ios - 在其他 swift 文件中调用时,AVAudioPlayer 不会播放声音

我有两个swift文件——我的ViewController:UIViewController和AudioPlayer:AVAudioPlayer。我的AudioPlayer文件有这个功能funcseaGullSound(){vartmp=AVAudioPlayer()varseaGullSound=NSURL(fileURLWithPath:NSBundle.mainBundle().pathForResource("Gulls",ofType:"mp3")!)AVAudioSession.sharedInstance().setCategory(AVAudioSessionCateg

ios - 按下按钮进入主机应用程序时如何更改自定义键盘的背景颜色?

我正在尝试从主机应用程序更改我的自定义键盘背景,但由于某些原因它不起作用。我尝试了NSUserDefaults但它不起作用,这是我从主机应用程序按下按钮时的代码:funcbuttonTapAction(){NSUserDefaults.standardUserDefaults().setInteger(1,forKey:"abc")}这样我从磁盘读取值,但它总是执行其他条件:overridefuncviewDidLoad(){super.viewDidLoad()letabc=NSUserDefaults.standardUserDefaults().integerForKey("ab