Skip to content

Commit 31233fb

Browse files
committed
Adapt to Swift's new syntax
1 parent dc19ad7 commit 31233fb

15 files changed

+773
-6680
lines changed

Examples/SwiftModel.swift

Lines changed: 104 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -6,53 +6,108 @@
66
// Copyright © 2021 SKGenerateModelTool. All rights reserved.
77
//
88

9-
import HandyJSON
10-
11-
class RootModel : HandyJSON {
12-
var login_status: Int = 0
13-
var feed_flag: Int = 0
14-
var is_use_bytedance_stream: Bool = false
15-
var location: Any?
16-
var tips: TipsModel?
17-
var action_to_last_stick: Int = 0
18-
var total_number: Int = 0
19-
var show_et_status: Int = 0
20-
var has_more: Bool = false
21-
var post_content_hint: String?
22-
var last_response_extra: LastResponseExtraModel?
23-
var api_base_info: Any?
24-
var data: [DataModel]?
25-
var message: String?
26-
var get_offline_pool: Bool = false
27-
var show_last_read: Bool = false
28-
var has_more_to_refresh: Bool = false
29-
30-
required init() {}
31-
}
32-
33-
class LastResponseExtraModel : HandyJSON {
34-
var data: String?
35-
36-
required init() {}
37-
}
38-
39-
class DataModel : HandyJSON {
40-
var content: String?
41-
var code: String?
42-
43-
required init() {}
44-
}
45-
46-
class TipsModel : HandyJSON {
47-
var open_url: String?
48-
var display_duration: Int = 0
49-
var web_url: String?
50-
var package_name: String?
51-
var display_info: String?
52-
var app_name: String?
53-
var display_template: String?
54-
var download_url: String?
55-
var type: String?
56-
57-
required init() {}
9+
struct RootModel: Codable {
10+
var complexStructure: ComplexStructureModel?
11+
var basicTypes: BasicTypesModel?
12+
var internationalization: InternationalizationModel?
13+
var arrayTypes: ArrayTypesModel?
14+
var specialCharacters: SpecialCharactersModel?
15+
var specialFormats: SpecialFormatsModel?
16+
var edgeCases: EdgeCasesModel?
17+
var nestedObject: NestedObjectModel?
18+
}
19+
20+
struct ComplexStructureModel: Codable {
21+
var data: [DataModel]?
22+
var metadata: MetadataModel?
23+
}
24+
25+
struct EdgeCasesModel: Codable {
26+
var maxSafeInteger: Int = 0
27+
var minSafeInteger: Int = 0
28+
var largeNumber: Double? // 1e+308
29+
var smallNumber: Double? // -1e+308
30+
var longString: String?
31+
}
32+
33+
struct InternationalizationModel: Codable {
34+
var chinese: String? // 简体中文
35+
var arabic: String? // نص عربي
36+
var russian: String?
37+
var japanese: String? // 日本語テキスト
38+
var emojiCombination: String?
39+
}
40+
41+
struct BasicTypesModel: Codable {
42+
var string: String? // Hello World!
43+
var emptyString: String?
44+
var booleanFalse: Bool = false // false
45+
var negativeNumber: Int = 0 // -100
46+
var nullValue: Any? // <#泛型#>
47+
var scientificNotation: Double? // 6.022e+23
48+
var zero: Int = 0 // 0
49+
var integer: Int = 0 // 42
50+
var booleanTrue: Bool = false // true
51+
var float: Double? // 3.14159
52+
}
53+
54+
struct SpecialFormatsModel: Codable {
55+
var hexValue: String? // 0x1A3F
56+
var isoDate: String?
57+
var url: String?
58+
var base64Data: String? // "Hello World!" in Base64
59+
var uuid: String?
60+
}
61+
62+
struct DataModel: Codable {
63+
var id: Int = 0 // 1
64+
var tags: [String]?
65+
var coordinates: CoordinatesModel?
66+
}
67+
68+
struct CoordinatesModel: Codable {
69+
var x: Double? // 12.34
70+
var y: Double? // -56.78
71+
}
72+
73+
struct ArrayTypesModel: Codable {
74+
var nestedArray: [String]?
75+
var mixedArray: [Any]?
76+
var simpleArray: [Any]?
77+
}
78+
79+
struct SpecialCharactersModel: Codable {
80+
var emoji: String? // 😀🚀🌟
81+
var newlines: String?
82+
var specialSymbols: String?
83+
var whitespace: String?
84+
var escapedCharacters: String?
85+
var unicode: String?
86+
}
87+
88+
struct NestedObjectModel: Codable {
89+
var user: UserModel?
90+
}
91+
92+
struct UserModel: Codable {
93+
var username: String? // john_doe
94+
var preferences: PreferencesModel?
95+
var contact: ContactModel?
96+
var id: Int = 0 // 12345
97+
}
98+
99+
struct PreferencesModel: Codable {
100+
var theme: String? // dark
101+
var notifications: Bool = false // true
102+
}
103+
104+
struct ContactModel: Codable {
105+
var phones: [String]?
106+
var email: String?
107+
}
108+
109+
struct MetadataModel: Codable {
110+
var version: String? // 1.0.0
111+
var createdAt: String? // 2023-01-01
112+
var active: Bool = false // true
58113
}

0 commit comments

Comments
 (0)