我試圖從iOS應用程序更新我的Parse.com類中的現有行。一旦這樣做,我是從解析收到此錯誤回:iOS Parse.com保存對象與指針列給出「用戶不允許」的錯誤
This user is not allowed to perform the update operation on City. You can change this setting in the Data Browser. (Code: 119, Version: 1.9.1)
我有兩個Parse.com類:City
和Bar
。 City
類是隻讀的(它是不會更改的城市列表),Bar
類是用戶與之交互的類(如添加註釋,評分,菜單項等)。 Bar
在City
上有一個Pointer
列,Bar
的權限全部爲公共用戶開啓。
下面是一個代碼片段:
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
PFQuery *query = [PFQuery queryWithClassName:@"Bar"];
self.bar = [query getObjectWithId:self.barId];
self.bar.name = @"Foo";
[self.bar saveInBackground];
}
有關片段的一些注意事項:我在酒吧的ID通過賽格瑞傳遞從以前的視圖控制器。我也知道這是在主線程上運行Parse查詢,它會阻止...我現在只是簡單的原型,這是無意義的代碼。
運行該代碼段時,出現上面列出的錯誤。正如你在代碼中看到的,我沒有改變城市的價值,也沒有將它包括在查詢結果中。我不明白爲什麼我會得到這個錯誤。任何投入將不勝感激!
看來你會有問題,因爲你不等待[查詢getObjectWithId:self.barId]來完成。因此,在準備好之前使用self.bar可能會失敗。這可能不是你的問題,但我認爲它可能對你有用。 – Michel
它看起來像這個問題是由於我使用'objectWithoutDataWithClassName'實例化我的'城市'對象。似乎以這種方式實例化對象將髒標記設置爲true。因此,當我保存我的「酒吧」時,它也試圖保存我的「城市」,因爲它很髒。但'City'是隻讀的,因此是錯誤的。 – themanatuf