【问题标题】:Firebase data parsing issue in swift 3.0swift 3.0 中的 Firebase 数据解析问题
【发布时间】:2017-02-25 07:01:29
【问题描述】:

当我在传递给我的模型类之前打印代码的值时,我遇到了 let user = Users(snapshot: code as!FIRDataSnapshot) 的问题:

  Snap (p5ZmlWTnZuWmCUFIS3KEVFCwoaB2) {
  addressLine = "K-03";
  bookingPayment =     {
    bookingPayment1474215359 =         {
        cardType = Visa;
        date = "19/09/2016";
        duration = 1;
        expirationDate = "12/2020";
        facilityId = facility1474021328102;
        facilityName = "Conference Hall";
        fromDate = "20/09/2016";
        fromTime = "6:32 AM";
        id = bookingPayment1474215359;
        imageUrl = “www.google.com”;
        issuingBank = Unknown;
        last4 = 1881;
        paidAmount = 200;
        time = "12:15 AM";
        toDate = "20/09/2016";
        toTime = "7:32 AM";
        uid = p5ZmlWTnZuWmCUFIS3KEVFCwoaB2;
    };
    bookingPayment1474215539 =         {
        cardType = Visa;
        date = "19/09/2016";
        duration = 1;
        expirationDate = "12/2020";
        facilityId = facility1474021328102;
        facilityName = "Conference Hall";
        fromDate = "20/09/2016";
        fromTime = "7:32 AM";
        id = bookingPayment1474215539;
        imageUrl = “www.google.com”;
        issuingBank = Unknown;
        last4 = 1881;
        paidAmount = 200;
        time = "12:18 AM";
        toDate = "20/09/2016";
        toTime = "8:32 AM";
        uid = p5ZmlWTnZuWmCUFIS3KEVFCwoaB2;
    };
};
checkedIn = 1;
email = “abcd@xxxxxxx.com";
name = “abcd";
notificationPreference =     {
    bus = 1;
    foodDelivery = 1;
    garbageCollector = 1;
    postman = 1;
    taxi = 1;
};
password = 123456;
phone = 0174802580;
playerId = "95eab868-8c80-47cc-b22a-cd8c07c8a258";
status = SOS;
timestamp = 1474444615518;
uid = p5ZmlWTnZuWmCUFIS3KEVFCwoaB2;
uniqueCode = IT3VXAALSAQ8M;
url = "";
visitor =     {
    "visitor20160921_142054" =         {
        arriveGuardId = guard1473917758421;
        arriveTimestamp = 1474438855260;
        carPlate = Djjdjsfn;
        departGuardId = guard1473917758421;
        departTimestamp = 1474440472751;
        ic = Lellss;
        id = "visitor20160921_142054";
        late = 0;
        name = Bick;
        pendingDepartTimestamp = 1474439100035;
        phone = JFKd;
        residentUid = p5ZmlWTnZuWmCUFIS3KEVFCwoaB2;
        status = History;
        visitingTimestamp = 1474438914243;
    };
    "visitor20160921_142312" =         {
        arriveGuardId = guard1473917758421;
        arriveTimestamp = 1474438994041;
        carPlate = Djjdjsfn;
        departTimestamp = 0;
        ic = Lellss;
        id = "visitor20160921_142312";
        late = 0;
        name = 244;
        pendingDepartTimestamp = 0;
        phone = JFKd;
        residentUid = p5ZmlWTnZuWmCUFIS3KEVFCwoaB2;
        status = Visiting;
        visitingTimestamp = 1474439014801;
    };
    "visitor20160921_144804" =         {
        arriveGuardId = guard1473917758421;
        arriveTimestamp = 1474440485858;
        carPlate = Djjdjsfn;
        departTimestamp = 0;
        ic = Lellss;
        id = "visitor20160921_144804";
        late = 0;
        name = Bick;
        pendingDepartTimestamp = 0;
        phone = JFKd;
        residentUid = p5ZmlWTnZuWmCUFIS3KEVFCwoaB2;
        status = Visiting;
        visitingTimestamp = 1474441499543;
    };
    "visitor20160921_155225" =         {
        arriveGuardId = guard1473917758421;
        arriveTimestamp = 1474444346180;
        carPlate = Ajx4563;
        departGuardId = guard1473917758421;
        departTimestamp = 1474444514132;
        ic = 9102827182910;
        id = "visitor20160921_155225";
        late = 0;
        name = Nick;
        pendingDepartTimestamp = 1474444476399;
        phone = 0174802580;
        residentUid = p5ZmlWTnZuWmCUFIS3KEVFCwoaB2;
        status = History;
        visitingTimestamp = 1474444388517;
    };
};
}  

    func getData() {

    reference_user.observe(.value, with: { snapshot in
        var userData: [Users] = []
        for code in snapshot.children {
           print(code)
            **let user = Users(snapshot: code as! FIRDataSnapshot)**
            print(user)
        }
    })
}

在解析用户中的值之后。当我打印用户时,它给出了这个。意味着在解析 vistor 之前有 4 条记录,但在解析后它只给我第一条记录。这里是

    Users(key: "p5ZmlWTnZuWmCUFIS3KEVFCwoaB2",
     name: "abcd",
     email: "abcd@xxxxxxx.com",
     password: "123456",
     phone: "0174802580",
     unit: "",
     uniqueCode: "IT3VXAALSAQ8M",
     status: "SOS",
     checkedIn: true,
     accountStatus: "",
     accountType: "",
     addressLine: "K-03",
     playerId: "95eab868-8c80-47cc-b22a-cd8c07c8a258",
     signUpTimestamp: 0,
     uid: "p5ZmlWTnZuWmCUFIS3KEVFCwoaB2",
      notificationPreference: {
bus = 1;
foodDelivery = 1;
garbageCollector = 1;
postman = 1;
taxi = 1;
},
visitor: Optional(Appname.UserVisitor(username: Optional("Bick"),        
userstatus: Optional("History"),
userdepartTimestamp: 1474440472751,        
arriveGuardId: "guard1473917758421",
arriveTimestamp: 1474438855260,
carPlate: "Djjdjsfn",
ic: "Lellss",
phone: "JFKd",
visitor_id:
"visitor20160921_142054")),
ref: https://appname.firebaseio.com/user/p5ZmlWTnZuWmCUFIS3KEVFCwoaB2)

【问题讨论】:

  • 你能添加你的Users类吗?

标签: ios swift firebase


【解决方案1】:

func getData 中,您定义了一个 Users 数组 - 但您从不附加已解析的记录

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-30
    • 1970-01-01
    • 1970-01-01
    • 2021-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多