2016-05-23 55 views
1

我在做什麼是從UIAlertController調用「塊組」操作。 UIAlertAction觸發檢查,看看你是否是groupProfile,然後將我的Parse列「Blocked」分配給blockedGroups數組。然後我聲明一個變量來收集當前用戶的objectID,這是我每次按下塊組按鈕時追加到我的數組中的內容。追加字符串數組/保存在解析 - Swift

數組得到正確添加,因爲我可以看到它打印在日誌中,但我無法在Parse後端看到它。好的是,所有其他用戶都未定義,直到我點擊它們的「塊組」功能,然後它轉向[],但未填充objectID。我沒有正確保存嗎?

enter image description hereenter image description here

(三填入[]的工作,我已經手動打塊組上,而不是用的ObjectID填充。)

var groupProfile: PFObject? 
    var blockedGroups : [String] = [] 

    let blockAction = UIAlertAction(title: "Block Group", style: UIAlertActionStyle.Default) { (UIAlertAction) -> Void in 
     if groupProfile != nil { 
      groupProfile!["Blocked"] = self.blockedGroups 
      let blockID = (PFUser.currentUser()?.objectId)! as String 
      self.blockedGroups.append(blockID) 
      var blockID2 = self.blockedGroups.append(blockID) 
      groupProfile!["Blocked"] = blockID2 
      print("Array: \(self.blockedGroups)") 
     } else { 
    } 
      groupProfile!.saveInBackground() 
    } 
+0

請注意,您可能希望使用'guard let groupProfile = groupProfile else {return}'來提前退出關閉。然後將所有代碼粘貼到下面的'if'中。使用這個,'groupProfile'後面不需要感嘆號。 – BallpointBen

+0

我有appDelegate中聲明的'groupProfile'變量。我只是爲了這個例子的目的而在這裏宣佈它。謝謝你的信息。 – pmoney13

+0

是否需要發佈更多信息才能更好地理解? – pmoney13

回答

0

你在哪裏聲明類,你想要保存groupProfile

爲了節省你必須做一個對象:

var groupProfile = PFObject(className: "CLASSNAME") 
    groupProfile["Blocked"] = blockID2 
    groupProfile.saveInBackground() 

此外,從你的代碼,你是在同一塊,這是沒用的做 groupProfile!["Blocked"] = self.blockedGroupsgroupProfile!["Blocked"] = blockID2