1

Hello I am getting duplicated Dictionaries from my service.

[{
DisplayName2 = "ABC";
Employee = "<null>";
EmployeeCode = 17227;
ImagePath = "/profile/image/759006c5e4214f0";
LeaveDetail = "<null>";
LeaveDetailLeaveDate = "2017-07-04T00:00:00";
LeaveEntry = "<null>";
LeaveEntryEndDate = "2017-07-04T00:00:00";
LeaveEntryNoOfDays = 1;
LeaveEntryStartDate = "2017-07-04T00:00:00";
LeaveEntryStartDateSession = FH;
LeaveType = "<null>";
LeaveTypeCode = 1;
LeaveTypeName = ANNUAL;
RequestStatus = C;
Shift = "<null>";
ShiftName = "";
SystemLeaveTypeCode = ANN;
TomorrowLeaveCount = 0;

},

{
DisplayName2 = "ABC";
Employee = "<null>";
EmployeeCode = 17227;
ImagePath = "/profile/image/759006c5e4214f0";
LeaveDetail = "<null>";
LeaveDetailLeaveDate = "2017-07-04T00:00:00";
LeaveEntry = "<null>";
LeaveEntryEndDate = "2017-07-04T00:00:00";
LeaveEntryNoOfDays = 1;
LeaveEntryStartDate = "2017-07-04T00:00:00";
LeaveEntryStartDateSession = FH;
LeaveType = "<null>";
LeaveTypeCode = 1;
LeaveTypeName = ANNUAL;
RequestStatus = C;
Shift = "<null>";
ShiftName = "";
SystemLeaveTypeCode = ANN;
TomorrowLeaveCount = 0;

},

{
DisplayName2 = "ABC";
Employee = "<null>";
EmployeeCode = 17227;
ImagePath = "/profile/image/759006c5e4214f0";
LeaveDetail = "<null>";
LeaveDetailLeaveDate = "2017-07-10T00:00:00";
LeaveEntry = "<null>";
LeaveEntryEndDate = "2017-07-10T00:00:00";
LeaveEntryNoOfDays = 1;
LeaveEntryStartDate = "2017-07-10T00:00:00";
LeaveEntryStartDateSession = FH;
LeaveType = "<null>";
LeaveTypeCode = 2;
LeaveTypeName = CASUAL;
RequestStatus = C;
Shift = "<null>";
ShiftName = "";
SystemLeaveTypeCode = CAS;
TomorrowLeaveCount = 0;

},

{
DisplayName2 = "ABC";
Employee = "<null>";
EmployeeCode = 17227;
ImagePath = "/profile/image/759006c5e4214f0";
LeaveDetail = "<null>";
LeaveDetailLeaveDate = "2017-07-10T00:00:00";
LeaveEntry = "<null>";
LeaveEntryEndDate = "2017-07-10T00:00:00";
LeaveEntryNoOfDays = 1;
LeaveEntryStartDate = "2017-07-10T00:00:00";
LeaveEntryStartDateSession = FH;
LeaveType = "<null>";
LeaveTypeCode = 2;
LeaveTypeName = CASUAL;
RequestStatus = C;
Shift = "<null>";
ShiftName = "";
SystemLeaveTypeCode = CAS;
TomorrowLeaveCount = 0;

}]

I want to compare these objects and only 1 object should be added into a new array. I can't use "==" to compare 2 dictionaries. How can I do this? Please help me Thanks

EDIT

if((obj==previouldObj)==false)
                            {
                                 self.arrayForTable.append(obj)
                            }

Then outside of the class public func ==(lhs: [AnyHashable: Any], rhs: [AnyHashable: Any] ) -> Bool { return NSDictionary(dictionary: lhs).isEqual(to: rhs) }

Anh Pham
  • 2,108
  • 9
  • 18
  • 29
user1960169
  • 3,533
  • 12
  • 39
  • 61

0 Answers0