gpt4 book ai didi

ios - 为什么对象没有添加到我的数组中?

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

我有两个自定义类:FSGameFSEventFSGame 有一个 ivar,它应该是 FSEvent 对象的 NSMutableArray

这是 FSGame.h:

@interface FSGame : NSObject

@property (strong, nonatomic) NSMutableArray *players;
@property (strong, nonatomic) NSString *startTime;
@property (strong, nonatomic) NSString *endTime;
@property (strong, nonatomic) NSMutableArray *gameEvents;

@end

这是我的 FSEvent.h:

@interface FSEvent : NSObject

@property NSInteger ID;
@property NSInteger pointTo;

@end

我用

@property (strong, nonatomic) FSGame *game;

在我的 AppDelegate 中保留一个 FSGame 实例。然后,在我的 application:didFinishLaunchingWithOptions: 中,我创建了一个 FSGame 的实例,以便它可以在整个“游戏”中填充。

_game = [[FSGame alloc] init];

然后,在我的一个 View Controller 中,我 allocinit 一个 FSEvent 的实例,然后尝试将它添加到 .gameEvents 数组:

[appDelegate.game.gameEvents addObject: event];

但是这里似乎出了点问题,因为如果我尝试从另一个 View Controller 访问该对象,它将是 nil:

FSEvent *previousEvent = [appDelegate.game.gameEvents lastObject];

if (previousEvent == nil) {
NSLog(@"previousEvent is NIL!");
}

我在这里错过了什么?

最佳答案

用显示的代码很难说,但有可能您永远不会创建可变数组 gameEvents 并且它是 nil 当您尝试访问它或向其添加事件。确保您在某处创建它,可能在 FSGame-init 中:

_gameEvents = [NSMutableArray array];

关于ios - 为什么对象没有添加到我的数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22817481/

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