【发布时间】:2019-12-26 21:48:27
【问题描述】:
我有一个对象数组,例如:Obj1 = {idUser: 1, lat:19.0000, lng:-99.0000, active: true}。这是为了监视一些用户,所以如果一个用户离开,它会将其属性活动值从 true 更改为 false,我必须将其从数组中删除,或者如果某些用户更改其位置,则仅属性坐标值会更改。此时我已经实现了,问题是当未注册的用户到达时,我需要将其添加到数组中,但它添加用户的次数与 idUser 与现有用户不匹配的次数一样多,我只需添加一次。
这是我正在使用的代码示例:
User *u3 = [[User alloc] initWithIdUser:@3 lat:19.417210 lng:-99.163552 active:@"true"];
for (User *u in users) {
if ([u3.idUser isEqualToValue:u.idUser] && [u3.active isEqualToString:@"false"]) {
NSLog(@"User leaves");
[users removeObject:u];
} else if ([u3.idUser isEqualToValue:u.idUser] && [u3.active isEqualToString:@"true"]) {
NSLog(@"User changed location");
[u setCoordinate:u3.coordinate];
} else if (![u3.idUser isEqualToValue:u.idUser] && [u3.active isEqualToString:@"true"]) {
NSLog(@"New user...");
[users arrayByAddingObject:u3];
}
}
【问题讨论】:
标签: ios arrays objective-c