File tree Expand file tree Collapse file tree 4 files changed +20
-164
lines changed
KakaJSONTests/JSON_To_Model Expand file tree Collapse file tree 4 files changed +20
-164
lines changed Load Diff This file was deleted.
Original file line number Diff line number Diff line change 1010public class Property : CustomStringConvertible {
1111 public let name : String
1212 public let type : Any . Type
13- public private( set) var dataType : Any . Type = Any . self
13+ public private( set) lazy var dataType : Any . Type = type ~!
1414 public let isVar : Bool
1515 public let offset : Int
1616 public let ownerType : Any . Type
@@ -23,7 +23,6 @@ public class Property: CustomStringConvertible {
2323 self . isVar = isVar
2424 self . offset = offset
2525 self . ownerType = ownerType
26- self . dataType = type~!
2726 }
2827
2928 func set( _ value: Any , for model: UnsafeMutableRawPointer ) {
Original file line number Diff line number Diff line change @@ -73,6 +73,22 @@ class JTM_03_NestedModel: XCTestCase {
7373 XCTAssert ( person? . dogs ? [ " dog1 " ] ? . age == dogs [ 1 ] . age)
7474 }
7575
76+ func testRecursive( ) {
77+ class Person : Convertible {
78+ var name : String = " "
79+ var parent : Person ?
80+ required init ( ) { }
81+ }
82+
83+ let json : [ String : Any ] = [
84+ " name " : " Jack " ,
85+ " parent " : [ " name " : " Jim " ]
86+ ]
87+
88+ let person = json. kj. model ( Person . self)
89+ XCTAssert ( person? . name == " Jack " )
90+ XCTAssert ( person? . parent? . name == " Jim " )
91+ }
7692
7793 func testOptional( ) {
7894 struct Book : Convertible {
Original file line number Diff line number Diff line change @@ -102,6 +102,9 @@ Or you can login Xcode with your GitHub account. just search **KakaJSON**.
102102## Coding
103103
104104``` swift
105+ // file path (can be String or URL)
106+ let file = " /Users/mj/Desktop/test.data"
107+
105108/** **************** String ******************/
106109let string1 = " 123"
107110// wrtite String to file
You can’t perform that action at this time.
0 commit comments