0

I am working on a project that reads from a Dictionary .plist that is located in the documents directory. I am currently migrating to Firebase. I have the "Write" working to -> Firebase. I also have the "Read" from <- Firebase working. The challenge that I am having is re-formatting the data the way I need it, in order to run it through my RegEx filter. I am not sure what to use to do this, a Parser or what... Just need some direction on the best way to pull the values out from the Firebase data that I read. I have spent about 10 hours trying different ways of formatting the Firebase data, but constantly get errors telling me that I can't change "Any" to "String" or "Any" to "Array". If you have not noticed, I am not a seasoned coder...

I am using Swift 3.0

This is the code that I have. (Note: I have the Firebase SDK installed and this code is just in the viewDidLoad func. for now). Also, I am using an NSObject Class that is outside of my viewDidLoad() for Post.

Thank you

var posts = [Post]()

class Post: NSObject {

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    //This is the code that reads from FireBase
    let ref = Database.database().reference().child("List").queryOrderedByValue()
    ref.observe(.value, with: { snapshot in
        print(snapshot.value ?? "can't print Values")//snapshot.value is what prints out to the console

        self.posts = []


        if let snapshots = snapshot.children.allObjects as? [DataSnapshot] {

            for snap in snapshots {
                if let postDict = snap.value as? Dictionary<String, AnyObject> {
                    let post = Post()
                    post.setValuesForKeys(postDict)
                    self.posts.append(post)


                }
            }
        }

    })
}

The output of the code in the viewDidLoad() produces this output to the console

{"-KmUr43ZPycmz7G3IBlA" = "Adding something";
"-KmUr6M3F6HSEIAMbaVa" = "This is my next one";
"-KmUr8xe2vDtLMZn84kP" = "Emoji";
"-KmWaviTHnzD_EBatRU8" = "next definition";
"-KmYMTqVXHhanJkkId4r" = "Rich is Cool";}

I would like to pull out the values of the above output two different ways and that is as an Array / NSMutableArray, and a String / NSMutableString

This is what I would like the Array to look like

["Adding something", "This is my next one", Emoji", "next definition", "Rich is Cool"]

This is what I would like the String to look like

Adding something, This is my next one, Emoji, next definition, Rich is Cool

Thank you so much for taking a look at this

Rogerpn
  • 1
  • 2
  • https://stackoverflow.com/questions/26386093/array-from-dictionary-keys-in-swift to get all keys + Array to String https://stackoverflow.com/questions/25827033/how-do-i-convert-a-swift-array-to-a-string – Larme Jun 14 '17 at 14:45
  • I figured this out... I will share once I have a minute – Rogerpn Jun 15 '17 at 23:44

0 Answers0