iphone - 在 Objective C 中创建链表

标签 iphone objective-c linked-list

typedef struct {
    NSString *activty;
    NSString *place;
    float latitude;
    float longitude;
} event;

typedef struct {
    event *thing;
    Node *next;
} Node;

这是我的 .h 文件中的代码,用于创建两个结构来保存数据(一个用于事件名称/地点/位置,一个用于链表的节点。我可以在node 结构,但我需要在自身内部使用 node 结构。在 C++ 中这可行,但我如何在 objective-c 中实现它?谢谢!

最佳答案

为什么要为结构体烦恼?只需使用一个类:

@interface MyEvent:NSObject
@property(copy) NSString *activity;
@property float latitude;
... etc ...
// and that linked list gunk
@property(retain) MyEvent *nextEvent;
@end

@implementation MyEvent
@synthesize activity, latitude, nextEvent;

- (void) dealloc
{
    [activity release], activity = nil;
    [nextEvent release], nextEvent = nil;
    [super dealloc];
}
@end

与结构相比,没有显着的开销(如果方法调用确实可测量,您甚至可以直接公开 ivars)。更好的是,当您想要归档结构、添加业务逻辑或做任何其他有趣的事情时,您只需添加方法即可。

关于iphone - 在 Objective C 中创建链表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4262223/

相关文章:

ios - iOS:如何更改字符串中某些字符的颜色/字体

iphone - 在 iPhone 上保存高分以防止黑客入侵的最佳方法是什么?

c - ANSI C 书籍链接列表章节中的错误编译示例

c++ - 在链表中添加字符串的简单方法

iphone CLLocationmanager区域监控回调未触发

ios - 如何为 tableView Section 的第一个和最后一个单元格设置圆角

iphone - 在室内可靠地定位 iPhone?

objective-c - 如何使特定的 UITableViewCell 在屏幕上可见,同时在 UITableView 中有更多行

java - 单链表复制困惑

ios - 当 Collection View 在 ios 中没有数据时,拉动刷新在 Collection View 中不起作用