不确定我这样做的方式是最好的

发布于 2024-08-05 12:05:39 字数 999 浏览 2 评论 0原文

我有应用程序 delegate.h &链接到 Main.Nib 的 .m 文件。

Nib 有一个窗口和一个选项卡栏控制器,其中有 4 个导航控制器。这 4 个中的每一个都在另外 4 个包含 tableview 控制器等的 Nib 中执行自己的操作。tableview

控制器从应用程序委托中操作的数组中获取数据。一切工作正常,我在选项卡之间切换、推动视图控制器以及刷新应用程序委托中的对象都没有问题。这是因为信息存储在 sqlite 中。

现在它变得有点棘手......

在我的应用程序委托上,我有一些代码从网络中提取 json 并将其存储在对象数组中。这个 json 的变化取决于我在 tableview 控制器笔尖之一内所做的事情。根据我需要的信息,我从其中一个 tableview 控制器内部调用我的应用程序委托并请求更多 json。

我遇到的问题是......

一旦连接完成并且对象已填充,我需要告诉一个(或多个)我的表视图控制器从我的应用程序委托中的对象数组重新加载其数据。加载这些对象所需的时间显然随 NSURLConnection 的不同而变化。

(我认为)我需要做的是......

在我的应用程序委托connectionDidFinishLoading中,我想在我的tableview控制器中调用一个方法......

类似于......

[self.tabbarcontroller.navigationcontroller(x) .viewselected(x) call_method_to_reload_table_inside_this_view];

然而,Main.Nib 已设置为通过 IB 加载其他 4 个 nib。

我的问题是......

我如何知道它们的名称或如何从我的应用程序委托访问它们?

如果我忽略 IB 并手动编码,我就可以控制它们的对象名称。

我似乎无法弄清楚 Main.Nib 和其他 4 个 Nib 是如何从应用程序委托初始化和访问的。

希望这是有道理的......

I have app delegate.h & .m files linked to a Main.Nib.

Nib has a window and a tabbar controller which has 4 navigation controllers. Each of these 4 do their own thing inside 4 more Nib's containing tableview controllers etc.

The tableview controllers take their data from arrays manipulated in the app delegate. All work fine and i have no problems switching between tabs, pushing view controllers around and getting refreshing the objects in my app delegate. This is because the information is stored within sqlite.

Now it gets a bit trickier..

On my app delegate, I have some code that pulls json from the web and stores it inside object arrays. This json changes depending on what I'm doing inside one of the tableview controller nibs. Depending on the info I need, I call my app delegate from inside one of the tableview controllers and ask for more json.

Problem I'm having is this...

Once the connection is finished and the objects have been populated, I need to tell one (or more) of my tableview controllers to reload their data from the object arrays in my app delegate. The time it takes to load these objects obviously varies with the NSURLConnection.

What (I think) I need to do is this...

In my app delegate connectionDidFinishLoading, I want to call a method inside my tableview controllers...

Something along the lines of...

[self.tabbarcontroller.navigationcontroller(x).viewselected(x) call_method_to_reload_table_inside_this_view];

However, the Main.Nib has been set up to load the 4 other nibs through IB.

My question is this...

How do I know what they are called or how do I access them from my app delegate?

If I had of ignored IB and coded this by hand, I would have had control over their object names.

I can't seem to work out how the Main.Nib and the 4 other Nib's get initialised and accessed from the app delegate.

Hope this makes sense...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

冬天旳寂寞 2024-08-12 12:05:39

经过更多研究后,我意识到我需要使用 NSNotificationCenter。

几行代码之后,一切都运行良好:)

After a little more research, I realised that I needed to use the NSNotificationCenter.

A few lines of code later and all is working very well indeed :)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文