如何在 Objective-C 中建模 n 对 n 关系?

发布于 2024-07-27 22:19:03 字数 131 浏览 7 评论 0原文

我正在尝试在 Objective-C 中建模 n 对 n 关系。 假设我有两个实体:电影和剧院。 一部电影有一系列剧院,一个剧院有一系列电影。 我如何在 Objective-C 中做到这一点,以 1) 获得正确的关系,2) 确保正确管理内存。

I am trying to model an n-to-n relationship in Objective-C. Suppose I have two entities: Movie and Theater. A Movie has an array of Theaters and a Theater has an array of Movies. How do I do this in Objective-C to 1) get the relationship correct and 2) make sure memory is managed correctly.

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

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

发布评论

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

评论(2

一向肩并 2024-08-03 22:19:03

在 Apple 平台上,您可以访问核心数据,这是一个非常不错的持久化框架。

On Apple platforms you have access to Core Data, a very nice persistence framework.

烟火散人牵绊 2024-08-03 22:19:03

您可以使用 SQLLitePersistentObjects

它允许您定义如下代码:

#import "SQLLitePersistentObjects.h"

@interface CFCategory : SQLLitePersistentObject {
  NSString *name;
  CFRegion *region; // where region is another subclass of SQLLitePersistentObject
}

@property(nonatomic, retain, readwrite) NSString *name;
@property(nonatomic, retain, readwrite) CFRegion *region;

@end

并在中使用它您的代码:

CFRegion *region = [CFCategory findByRegion:[myRegionObject pk]];

内存和持久性由框架自动处理。 但是,如果您正在处理大型数据集,请务必使用具有配对数组功能的 NSArray 对象,而不是分配和取消分配数百或数千个 SQLLitePersistentObject。

You can use SQLLitePersistentObjects:

It allows you to define code like the following:

#import "SQLLitePersistentObjects.h"

@interface CFCategory : SQLLitePersistentObject {
  NSString *name;
  CFRegion *region; // where region is another subclass of SQLLitePersistentObject
}

@property(nonatomic, retain, readwrite) NSString *name;
@property(nonatomic, retain, readwrite) CFRegion *region;

@end

And use it in your code:

CFRegion *region = [CFCategory findByRegion:[myRegionObject pk]];

Memory and persistence is automatically handled by the framework. However, if you are working with large data sets be sure to use NSArray objects with the paired arrays functionality instead of allocating and deallocating hundreds or thousands of SQLLitePersistentObjects.

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