我正在尝试将NSMutableArray保存到与Parse User表上当前登录用户关联的数组,但我的数组未保存。我做错了什么?
此方法在viewDidLoad()
中调用- (void)getSavedLocations {
if ([[PFUser currentUser]objectForKey:@"Latitude"] == NULL) {
self.latitudeArray = [[NSMutableArray alloc]init];
self.longitudeArray = [[NSMutableArray alloc]init];
}
else {
self.latitudeArray = [[PFUser currentUser]objectForKey:@"Latitude"];
self.longitudeArray = [[PFUser currentUser]objectForKey:@"Longitude"];
}
}
此方法是将对象添加到我的数组中,但Parse数组不会使用新数据进行更新。
- (IBAction)saveLocationPressed:(id)sender {
NSString *latString = [NSString stringWithFormat:@"%f", self.myLatitude];
NSString *longString = [NSString stringWithFormat:@"%f", self.myLongitude];
[self.latitudeArray addObject:latString];
[self.longitudeArray addObject:longString];
[[PFUser currentUser]setObject:self.latitudeArray forKey:@"Latitude"];
[[PFUser currentUser]setObject:self.longitudeArray forKey:@"Longitude"];
}
答案 0 :(得分:1)
我明白了。我不得不添加[[PFUser currentUser]saveInBackground];
答案 1 :(得分:0)
首先检查saveLocationPressed方法中self.latitudeArray是否为NULL: 如果你先保存,那么get,你self.latitudeArray可能是NULL。 建议你懒得加载数组
@property (nonatomic, strong) NSMutableArray *latitudeArray;
/**
* lazy load _latitudeArray
*
* @return NSMutableArray
*/
- (NSMutableArray *)latitudeArray
{
if (_latitudeArray == nil) {
_latitudeArray = [[NSMutableArray alloc] init];
}
return _latitudeArray;
}