Ios 与SharedDefault共享图像Alpha值

Ios 与SharedDefault共享图像Alpha值,ios,swift,nsuserdefaults,Ios,Swift,Nsuserdefaults,在我的应用程序中,我根据上下文设置了3幅图像的alpha值。我想使用sharedDefault将alpha值传递给apple watch。然后将相同的alpha值设置为手表上的相应图像。我知道如何很好地传递字符串,但不知道如何传递值。任何帮助都将不胜感激。以下是我在主应用程序上的代码: if grandTotalPax <= 90 { let sharedDefaults = NSUserDefaults(suiteName:"group.

在我的应用程序中,我根据上下文设置了3幅图像的alpha值。我想使用sharedDefault将alpha值传递给apple watch。然后将相同的alpha值设置为手表上的相应图像。我知道如何很好地传递字符串,但不知道如何传递值。任何帮助都将不胜感激。以下是我在主应用程序上的代码:

            if grandTotalPax <=  90 {
            let sharedDefaults = NSUserDefaults(suiteName:"group.birkyboy.CrewStaffingTodayExtension")

            sharedDefaults!.setDouble(1, forKey: "totalfull")
            sharedDefaults!.setDouble(0.3, forKey: "totalmoyen")
            sharedDefaults!.setDouble(0.3, forKey: "totalempty")

            totalFull.alpha = 1
            totalMoyen.alpha = 0.2
            totalEmpty.alpha = 0.2
            }

如果grandTotalPax我不确定这是否回答了您的问题,因为这似乎不清楚,因为您正在使用正确的方法设置值

如果您想在iOS设备和Apple Watch之间共享值,这非常简单

首先,我假设您已经为两个目标(设备和手表)定义了
AppGroups

其次,您需要像这样获取
NSUserDefaults

if let sharedDefaults = NSUserDefaults(suiteName: "group.birkyboy.CrewStaffingTodayExtension") {
  // Do your stuffs here
}
if
块中,您可以用相同的方法定义值

sharedDefaults.setFloat(0.3, "totalempty") // Look I'm using float because is less expensive than double and fits the range alpha values you need.
然后,您应该像这样保存
NSUserDefaults

if sharedDefaults.synchronize() {
  // syncrhonized succeffully
}
if let sharedDefaults = NSUserDefaults(suiteName: "group.birkyboy.CrewStaffingTodayExtension") {
  let alpha: Float = sharedDefaults.floatForKey("totalempty") // if this key does not exist, this will return 0.
}
如果不执行此操作,您共享的默认值将永远无法保存

在watch,您可以像这样轻松地获取值:

if sharedDefaults.synchronize() {
  // syncrhonized succeffully
}
if let sharedDefaults = NSUserDefaults(suiteName: "group.birkyboy.CrewStaffingTodayExtension") {
  let alpha: Float = sharedDefaults.floatForKey("totalempty") // if this key does not exist, this will return 0.
}
我希望这能帮助你