gpt4 book ai didi

ios - 如何将数据从一个 WKInterfaceController 推送到另一个?

转载 作者:行者123 更新时间:2023-11-28 19:50:47 28 4
gpt4 key购买 nike

我的 WatchKit 中有 2 个接口(interface) Controller 。第一个称为 InterfaceController,而另一个称为 DetailsForWatch。 IC 上有一个 tableView。它解析来自 Parse 类的数据,并将来自类中每个条目的数据显示为一行。这很好用。

我想做的是将所选行的 PFObject 传递给 DetailsForWatch 中的 PFObject。我的 DFW 设置是:

.h

@interface DetailsForWatch : WKInterfaceController {
}
@property (nonatomic, retain) IBOutlet WKInterfaceLabel *detailsLabel;
@property (nonatomic, retain) PFObject *finalObject;

@end

.m

- (void)awakeWithContext:(id)context {
[super awakeWithContext:context];
NSString *details = self.finalObject [@"Request"];

[self.detailsLabel setText:details];
NSLog(@"%@", self.finalObject);
// Configure interface objects here.
}

在 IC 中,对于 .h 我有:

@class DetailsForWatch;
@interface InterfaceController : WKInterfaceController {
DetailsForWatch *_theDetails;


}
@property (retain) DetailsForWatch *theDetails;
@end

在 .m 中我有:

@synthesize theDetails = _theDetails;

对于 didSelectRowAtIndex,我有:

_theObject = _theObjective[rowIndex];

self.theDetails = [[DetailsForWatch alloc] init];
_theDetails.finalObject = _theObject;

我将 DFW 设置为来自 IC 组的推送选择。当我在 IC 中选择一行时,它会弹出一个空白屏幕,并且 NSLog 显示名为 finalObject 的 PFObject 是(null)。它没有正确传递 PFObject,我做错了什么?

最佳答案

有几种方法可以在两个接口(interface) Controller 之间传递数据。我一直这样做的方式是这样的:

  1. 在我的 Storyboard 中的两个 Controller 之间创建一个 segue(必要时给它一个标识符)。

  2. 在interface controller 1中实现

- (id)contextForSegueWithIdentifier:(NSString *)segueIdentifier

当通过按下按钮或其他方式触发 segue 时,它​​将被调用。

这可以返回任何对象,例如数据字典(在您的例子中为“theDetails”)

  1. 在接口(interface) Controller 2中实现

- (void)awakeWithContext:(id)context

此处的上下文对象将是您在 Controller 1 中传递的对象

关于ios - 如何将数据从一个 WKInterfaceController 推送到另一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29377755/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com