2017-07-31 187 views
0

目的實例化每個TableViewCell

  • 新陣列創建串的每個單獨的表格視圖單元格的新數組。

的問題

  • 每次追加到字符串數組爲每個單獨的JSON對象,附不附加到該陣列爲每個單獨的小區;所附爲JSON對象的整個整個進料,因此與正被取出的每JSON對象的陣列結束了..(我需要一個單獨的陣列爲每個單獨的小區)

    例如=

  • 小區1 = [ 「你好」, 「謝謝」, 「歡迎」]

  • 小區2 = [ 「美國」, 「中國」, 「俄羅斯」]

  • 小區3 = [」 Patatoe「,」Orange「,」Apple「]

  • 等...

我在做什麼?

  • 我拉動從火力字符串數組和附加的值到的cellForRowAtIndexPath方法內實例化的空數組。

CODE

var peopleWhomAreInvited = [String]() 

    Database.database().reference().child("following").child((currentUser?.uid)!).observe(.childAdded, with: { (snapshot) in 
     Database.fetchUserWithUID(uid: snapshot.key) { (user) in 
      let allUserRef = Database.database().reference().child("plans").child((user.uid)) 

      allUserRef.observeSingleEvent(of: .value, with: { (snapshot) in 
       guard let dictionaries = snapshot.value as? [String: Any] else { return } 
       dictionaries.forEach({ (key, value) in 

        let peopleAttendingRef = allUserRef.child(key).child("invited").observe(.childAdded, with: { (peopleSnapshot) in 
         let personsRef = allUserRef.child(key).child("invited").child(peopleSnapshot.key) 
         personsRef.observe(.childAdded, with: { (personSnapshot) in 
          guard let peopleAttendingDictionary = personSnapshot.value as? String else { return } 
          peopleWhomAreInvited.append(peopleAttendingDictionary) 
          print("THIS IS WHO I INVITED", peopleWhomAreInvited) 
         }) 
        }) 
       }) 

      }) 
     } 
    }) 

你有什麼我試過嗎?

我試着:

  • 到陣列申報的cellForRowAtIndexPath方法之外,並且在細胞中

  • 創建字典使用數組的值,並且(不成功)陣列追加到每個鍵(這是indexPath.row)。

  • 聲明提取方法在細胞內,而不是在的cellForRowAtIndexPath

我不知道該怎麼辦......如果您有任何想法,請讓我知道。

+0

2D陣列可能會對您有所幫助。 –

+0

你在哪裏使用數組?解釋有點混亂。此外,人們對未受邀的人應該是誰而不是誰。動詞'是'代表主格。 –

+0

讓你的問題有點清楚瞭解 –

回答

0

您的問題需要澄清,但是閱讀這兩次在我看來你想要維護陣列陣列,這可以通過以下方式完成。

var arrayForAppending = [[String]]() 

let cellOneArray = ["hello", "thank you", "welcome"] 
let cellTwoArray = ["America", "China", "Russia"] 
let cellThreeArray = ["Patatoe", "Orange", "Apple"] 

arrayForAppending.append(cellOneArray) 
arrayForAppending.append(cellTwoArray) 
arrayForAppending.append(cellThreeArray) 
print(arrayForAppending) 

// Print Output 
// [["hello", "thank you", "welcome"], ["America", "China", "Russia"], ["Patatoe", "Orange", "Apple"]] 
+0

我試圖讓問題儘可能清楚。這仍然不能回答我所需要的。對於每個單獨的單元格(在表格視圖中)它不返回一個新的數組。 –

0

解決此問題的方法是將數組添加到保存每個帖子值的結構中。在實例化結構時,您在每個單元格上創建一個新的後對象,例如var post = Post(dictionary:dictionary)

這篇文章過於複雜。