I have an array of NSDate. I am filtering this array with a timeIntervalSinceDate to only keep specific ones. After looping through the array, and submitting an "if" statement to compare the elements in the array with others, I intend to append the desired ones into a new array.
However, after the whole process, it returns an array of one element every time, returning all the right elements, but in separate arrays every time. Instead of having one array of four elements, I end up with four arrays of one.
Here are the codes:
var query = PFUser.query()
query!.whereKey("username", equalTo: PFUser.currentUser()!.username!)
query!.findObjectsInBackgroundWithBlock { (objects, NSError) -> Void in
if let objects = objects as? [PFObject] {
for member in objects {
if member["Network"] != nil {
var acceptedMembers: [String] = member["Network"] as! [String]
self.usernames = acceptedMembers
var query = PFUser.query()
query.findObjectsInBackgroundWithBlock({ (objects2, error2) -> Void in
if let objects2 = objects2 as? [PFUser] {
for otherUser in objects2 {
if contains(self.usernames, otherUser.username!) {
self.nameMember = otherUser.username!
self.setName()
var otherUserElement: AnyObject? = otherUser["myElement"]
if otherUserElement != nil {
var OUEL = otherUserElement as! NSArray
var currentUserElement: AnyObject? = PFUser.currentUser()!["myElement"]
if currentUserElement != nil {
var CUEL = currentUserElement as! NSArray
var count = CUEL.count
for point1 in OUEL {
var arrayPoint1 = point1 as! NSArray
var elem1: AnyObject = arrayPoint1[0]
var elem11: AnyObject = arrayPoint1[1]
var time1: AnyObject = arrayPoint1[2]
self.element11 = elem1 as! Double
self.element111 = elem11 as! Double
self.date1 = time1 as! NSDate
for point2 in CUEL {
var arrayPoint2 = point2 as! NSArray
var elem2: AnyObject = arrayPoint2[0]
var elem22: AnyObject = arrayPoint2[1]
var time2: AnyObject = arrayPoint2[2]
self.element22 = lat2 as! Double
self.element222 = long2 as! Double
self.date2 = time2 as! NSDate
self.tryPoint = point2 as! [AnyObject]
self.Y.append(self.tryPoint)
let compo = self.cal.components(.CalendarUnitSecond | .CalendarUnitMinute | .CalendarUnitHour | .CalendarUnitDay | .CalendarUnitMonth, fromDate: self.date2)
self.second = compo.second
let unit2:NSCalendarUnit = .CalendarUnitSecond
let components = self.cal.components(unit2, fromDate: self.date1, toDate: self.date2, options: nil)
var range = -15...15
if (self.element11 == self.element22) && (self.element111 == self.element222) && contains(range, components.second) {
self.dateX.append(self.date2)
var countArray = [NSDate]()
if NSDate().timeIntervalSinceDate(self.date2) <= 86400 {
for n in self.dateX {
if n == self.date2 {
countArray.append(n)
} } }
} } }}}}}} })
}}}}
Do you have any idea of what might cause this issue ? Why would it return different arrays for each element every time instead of one array with all ?
Thank you very much,
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire