我正在尝试为苹果手表制作我的应用程序,但我遇到了云容器的问题。当我为手表扩展创建云套件时,它创建了自己的容器/数据库,所以现在我试图让它们共享同一个。我尝试指定我想要的自定义容器,但它不起作用。请帮忙!

我正在调用方法:
open func updateApplicationContext(_ applicationContext: [String : Any]) throws
Run Code Online (Sandbox Code Playgroud)
这需要[String : Any].
我有返回的方法:
func watchData() -> [String: Any] {
var dictionary = [String: Any]()
let wallets = Database.sharedInstance.database.objects(Wallet.self)
for wallet in wallets {
if let qrCode = QRCode(wallet.address) {
let watchWallet = WatchWallet(fund: wallet.fund, avaliable: wallet.avaliable, address: wallet.address, imageData: qrCode.PNGData)
dictionary[wallet.fund] = watchWallet
}
}
return dictionary
}
Run Code Online (Sandbox Code Playgroud)
并且返回的数据watchData()无效。
WatchWallet 是strcut。
struct WatchWallet {
let fund: String
let avaliable: String
let address: String
let imageData: Data …Run Code Online (Sandbox Code Playgroud) 使用 WatchKit,尝试时
let asset = NSDataAsset(name:"ASSET-NAME")
Run Code Online (Sandbox Code Playgroud)
XCode 抛出以下错误 Use of unresolved identifier 'NSDataAsset'
那么如何使用 WatchKit 从资产目录中获取(声音)文件呢?
我正在开发一个具有模块化大面复杂功能的 watchOS 应用程序。WatchKit 扩展中的 Assets.xcassets 文件包含一个 Complication 文件夹,其中分别为Circular、Extra Large和设置一个图像,但在我的例子中,我有多个可能Modular的Utilitarian模块化类型资源,我将以编程方式从中进行选择(称为Bottlefed、Breastfed和Pump)。我能够将Modular图像集重命名为Bottlefed,然后将其他两个图像集添加到 Complication 文件夹中并用图像填充它们:
但这样做最终会在 Xcode 中显示以下警告:
我找不到任何文档或人们使用多个图像作为资产的示例来向我展示我是否按预期方式执行此操作。
请注意,就将多个资产添加到资产目录并以编程方式从中进行选择而言,我的方法确实有效。但 Xcode 中的警告令人恼火,让我觉得我没有以正确的方式这样做。有什么想法吗?
我的原始部分只有一个 Text 对象。当我将其替换为 NavigationLink 以便点击它会导致另一个视图时,该部分的大小突然增大,同时添加了填充和边距。我已经尝试过 .padding(0) 和我能想到的所有其他方法,但 NavigationLink 坚持是一个超大的气泡。
var body: some View {
List {
Section(header:
NavigationLink("Section Title", destination: OrgChooserView())) {
ForEach(model.metrics, id: \.displaySequence) { metric in
MetricRowView(metric: metric)
}
}
}
.navigationTitle("Test").accentColor(.orange)
}
Run Code Online (Sandbox Code Playgroud)
在部分中使用导航链接:
章节中包含文本:
如果您能在删除节标题周围的可见气泡或调整其填充和边距方面获得任何帮助,我将不胜感激。
谢谢。
如果按钮位于列表中,是否可以将按钮文本居中?
\nstruct HomeView: View {\n var body: some View {\n List {\n ForEach(["1", "2"], id: \\.self) {\n Text("\\($0)\xe2\x80\xa6").frame(maxWidth: .infinity, alignment: .center)\n }\n\n Button("Action button") {}\n }\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n结果:
\n\n附:
\n我尝试了这个:.frame(maxWidth: .infinity, alignment: .center)\n但它不起作用
我知道WKInterfaceLabel没有getter方法,但我还有另一种方法可以将标签文本与另一个字符串进行比较吗?如果这不是一个手表应用程序我使用UILabel我可以这样做:
if ([self.label.text isEqualToString:someString]) {
}
Run Code Online (Sandbox Code Playgroud) 我有一个嵌套的WKInterfaceGroup带有WKInterfaceLabel内,这样的:

看起来像那样:

橙色突出显示表示用户当前正在编辑的值的哪一部分.(WKInterfaceGroup的Backgroundcolor)
我试图找到一种方法来切换左/右突出显示并遇到问题
touchesBegan我的问题是:
如何让用户"点击"选择他想要主动编辑的两个群组中的哪一个?
2015-05-02 23:56:34.047 TapIt WatchKit Extension[1398:18615] b: <WKInterfaceButton: 0x6080000580c0>
2015-05-02 23:56:34.048 TapIt WatchKit Extension[1398:18615] sender: (null)
- (IBAction)tapped:(id)sender {
bool success = false;
NSLog(@"b: %@", b);
NSLog(@"sender: %@", sender);
Run Code Online (Sandbox Code Playgroud)
为什么这会通过零?