gpt4 book ai didi

ios - 我的自定义类具有所有相同的变量

转载 作者:行者123 更新时间:2023-12-01 17:54:45 25 4
gpt4 key购买 nike

以下是我的问题的简化示例。我试图用不同的值存储相同的对象。但是当我设置一个新值时,所有值都会改变。

StopsOnRoute.h

@interface StopsOnRoutes : NSObject

@property (nonatomic) NSUInteger start_route_id;
@property (nonatomic) NSUInteger start_stop_id;
@property (nonatomic) NSUInteger start_time;

@end

FirstViewController.m
- (void)viewDidLoad
{
NSMutableArray *route1 = [[NSMutableArray alloc] init];

StopsOnRoutes *stopOnRoutes = [[StopsOnRoutes alloc] init];

int p_time = 0;
int p_route = 0;
int p_stop = 0;

while(p_time<10){

p_time = p_time + 1;
p_route = p_route + 1;
p_stop = p_stop + 1;

[stopOnRoutes setStart_time:p_time];
[stopOnRoutes setStart_route_id:p_route];
[stopOnRoutes setStart_stop_id:p_stop];

[route1 addObject:stopOnRoutes];
}
}

数组route1的意外输出:
10 | 10 | 10
10 | 10 | 10
10 | 10 | 10
10 | 10 | 10
10 | 10 | 10
10 | 10 | 10
10 | 10 | 10
10 | 10 | 10
10 | 10 | 10
10 | 10 | 10

数组route1的预期输出:
1 | 1 | 1
2 | 2 | 2
3 | 3 | 3
4 | 4 | 4
5 | 5 | 5
6 | 6 | 6
7 | 7 | 7
8 | 8 | 8
9 | 9 | 9
10 | 10 | 10

最佳答案

您正在重复使用同一对象实例。每次在循环中创建一个新的。

 while(p_time<10){

StopsOnRoutes *stopOnRoutes = [[StopsOnRoutes alloc] init];

p_time = p_time + 1;
p_route = p_route + 1;
p_stop = p_stop + 1;

[stopOnRoutes setStart_time:p_time];
[stopOnRoutes setStart_route_id:p_route];
[stopOnRoutes setStart_stop_id:p_stop];

[route1 addObject:stopOnRoutes];
}

关于ios - 我的自定义类具有所有相同的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19915261/

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