@@ -134,26 +134,25 @@ open class NSCalendar : NSObject, NSCopying, NSSecureCoding {
134
134
}
135
135
136
136
public convenience required init ? ( coder aDecoder: NSCoder ) {
137
- if aDecoder. allowsKeyedCoding {
138
- guard let calendarIdentifier = aDecoder. decodeObject ( of: NSString . self, forKey: " NS.identifier " ) else {
139
- return nil
140
- }
141
-
142
- self . init ( identifier: NSCalendar . Identifier. init ( rawValue: calendarIdentifier. _swiftObject) )
143
-
144
- if let timeZone = aDecoder. decodeObject ( of: NSTimeZone . self, forKey: " NS.timezone " ) {
145
- self . timeZone = timeZone. _swiftObject
146
- }
147
- if let locale = aDecoder. decodeObject ( of: NSLocale . self, forKey: " NS.locale " ) {
148
- self . locale = locale. _swiftObject
149
- }
150
- self . firstWeekday = aDecoder. decodeInteger ( forKey: " NS.firstwkdy " )
151
- self . minimumDaysInFirstWeek = aDecoder. decodeInteger ( forKey: " NS.mindays " )
152
- if let startDate = aDecoder. decodeObject ( of: NSDate . self, forKey: " NS.gstartdate " ) {
153
- self . _startDate = startDate. _swiftObject
154
- }
155
- } else {
156
- NSUnimplemented ( )
137
+ guard aDecoder. allowsKeyedCoding else {
138
+ preconditionFailure ( " Unkeyed coding is unsupported. " )
139
+ }
140
+ guard let calendarIdentifier = aDecoder. decodeObject ( of: NSString . self, forKey: " NS.identifier " ) else {
141
+ return nil
142
+ }
143
+
144
+ self . init ( identifier: NSCalendar . Identifier. init ( rawValue: calendarIdentifier. _swiftObject) )
145
+
146
+ if let timeZone = aDecoder. decodeObject ( of: NSTimeZone . self, forKey: " NS.timezone " ) {
147
+ self . timeZone = timeZone. _swiftObject
148
+ }
149
+ if let locale = aDecoder. decodeObject ( of: NSLocale . self, forKey: " NS.locale " ) {
150
+ self . locale = locale. _swiftObject
151
+ }
152
+ self . firstWeekday = aDecoder. decodeInteger ( forKey: " NS.firstwkdy " )
153
+ self . minimumDaysInFirstWeek = aDecoder. decodeInteger ( forKey: " NS.mindays " )
154
+ if let startDate = aDecoder. decodeObject ( of: NSDate . self, forKey: " NS.gstartdate " ) {
155
+ self . _startDate = startDate. _swiftObject
157
156
}
158
157
}
159
158
@@ -169,16 +168,15 @@ open class NSCalendar : NSObject, NSCopying, NSSecureCoding {
169
168
}
170
169
171
170
open func encode( with aCoder: NSCoder ) {
172
- if aCoder. allowsKeyedCoding {
173
- aCoder. encode ( self . calendarIdentifier. rawValue. _bridgeToObjectiveC ( ) , forKey: " NS.identifier " )
174
- aCoder. encode ( self . timeZone. _nsObject, forKey: " NS.timezone " )
175
- aCoder. encode ( self . locale? . _bridgeToObjectiveC ( ) , forKey: " NS.locale " )
176
- aCoder. encode ( self . firstWeekday, forKey: " NS.firstwkdy " )
177
- aCoder. encode ( self . minimumDaysInFirstWeek, forKey: " NS.mindays " )
178
- aCoder. encode ( self . _startDate? . _nsObject, forKey: " NS.gstartdate " )
179
- } else {
180
- NSUnimplemented ( )
171
+ guard aCoder. allowsKeyedCoding else {
172
+ preconditionFailure ( " Unkeyed coding is unsupported. " )
181
173
}
174
+ aCoder. encode ( self . calendarIdentifier. rawValue. _bridgeToObjectiveC ( ) , forKey: " NS.identifier " )
175
+ aCoder. encode ( self . timeZone. _nsObject, forKey: " NS.timezone " )
176
+ aCoder. encode ( self . locale? . _bridgeToObjectiveC ( ) , forKey: " NS.locale " )
177
+ aCoder. encode ( self . firstWeekday, forKey: " NS.firstwkdy " )
178
+ aCoder. encode ( self . minimumDaysInFirstWeek, forKey: " NS.mindays " )
179
+ aCoder. encode ( self . _startDate? . _nsObject, forKey: " NS.gstartdate " )
182
180
}
183
181
184
182
static public var supportsSecureCoding : Bool {
@@ -1373,53 +1371,52 @@ open class NSDateComponents : NSObject, NSCopying, NSSecureCoding {
1373
1371
}
1374
1372
1375
1373
public convenience required init ? ( coder aDecoder: NSCoder ) {
1376
- if aDecoder. allowsKeyedCoding {
1377
- self . init ( )
1378
-
1379
- self . era = aDecoder. decodeInteger ( forKey: " NS.era " )
1380
- self . year = aDecoder. decodeInteger ( forKey: " NS.year " )
1381
- self . quarter = aDecoder. decodeInteger ( forKey: " NS.quarter " )
1382
- self . month = aDecoder. decodeInteger ( forKey: " NS.month " )
1383
- self . day = aDecoder. decodeInteger ( forKey: " NS.day " )
1384
- self . hour = aDecoder. decodeInteger ( forKey: " NS.hour " )
1385
- self . minute = aDecoder. decodeInteger ( forKey: " NS.minute " )
1386
- self . second = aDecoder. decodeInteger ( forKey: " NS.second " )
1387
- self . nanosecond = aDecoder. decodeInteger ( forKey: " NS.nanosec " )
1388
- self . weekOfYear = aDecoder. decodeInteger ( forKey: " NS.weekOfYear " )
1389
- self . weekOfMonth = aDecoder. decodeInteger ( forKey: " NS.weekOfMonth " )
1390
- self . yearForWeekOfYear = aDecoder. decodeInteger ( forKey: " NS.yearForWOY " )
1391
- self . weekday = aDecoder. decodeInteger ( forKey: " NS.weekday " )
1392
- self . weekdayOrdinal = aDecoder. decodeInteger ( forKey: " NS.weekdayOrdinal " )
1393
- self . isLeapMonth = aDecoder. decodeBool ( forKey: " NS.isLeapMonth " )
1394
- self . calendar = aDecoder. decodeObject ( of: NSCalendar . self, forKey: " NS.calendar " ) ? . _swiftObject
1395
- self . timeZone = aDecoder. decodeObject ( of: NSTimeZone . self, forKey: " NS.timezone " ) ? . _swiftObject
1396
- } else {
1397
- NSUnimplemented ( )
1374
+ guard aDecoder. allowsKeyedCoding else {
1375
+ preconditionFailure ( " Unkeyed coding is unsupported. " )
1398
1376
}
1377
+
1378
+ self . init ( )
1379
+
1380
+ self . era = aDecoder. decodeInteger ( forKey: " NS.era " )
1381
+ self . year = aDecoder. decodeInteger ( forKey: " NS.year " )
1382
+ self . quarter = aDecoder. decodeInteger ( forKey: " NS.quarter " )
1383
+ self . month = aDecoder. decodeInteger ( forKey: " NS.month " )
1384
+ self . day = aDecoder. decodeInteger ( forKey: " NS.day " )
1385
+ self . hour = aDecoder. decodeInteger ( forKey: " NS.hour " )
1386
+ self . minute = aDecoder. decodeInteger ( forKey: " NS.minute " )
1387
+ self . second = aDecoder. decodeInteger ( forKey: " NS.second " )
1388
+ self . nanosecond = aDecoder. decodeInteger ( forKey: " NS.nanosec " )
1389
+ self . weekOfYear = aDecoder. decodeInteger ( forKey: " NS.weekOfYear " )
1390
+ self . weekOfMonth = aDecoder. decodeInteger ( forKey: " NS.weekOfMonth " )
1391
+ self . yearForWeekOfYear = aDecoder. decodeInteger ( forKey: " NS.yearForWOY " )
1392
+ self . weekday = aDecoder. decodeInteger ( forKey: " NS.weekday " )
1393
+ self . weekdayOrdinal = aDecoder. decodeInteger ( forKey: " NS.weekdayOrdinal " )
1394
+ self . isLeapMonth = aDecoder. decodeBool ( forKey: " NS.isLeapMonth " )
1395
+ self . calendar = aDecoder. decodeObject ( of: NSCalendar . self, forKey: " NS.calendar " ) ? . _swiftObject
1396
+ self . timeZone = aDecoder. decodeObject ( of: NSTimeZone . self, forKey: " NS.timezone " ) ? . _swiftObject
1399
1397
}
1400
1398
1401
1399
open func encode( with aCoder: NSCoder ) {
1402
- if aCoder. allowsKeyedCoding {
1403
- aCoder. encode ( self . era, forKey: " NS.era " )
1404
- aCoder. encode ( self . year, forKey: " NS.year " )
1405
- aCoder. encode ( self . quarter, forKey: " NS.quarter " )
1406
- aCoder. encode ( self . month, forKey: " NS.month " )
1407
- aCoder. encode ( self . day, forKey: " NS.day " )
1408
- aCoder. encode ( self . hour, forKey: " NS.hour " )
1409
- aCoder. encode ( self . minute, forKey: " NS.minute " )
1410
- aCoder. encode ( self . second, forKey: " NS.second " )
1411
- aCoder. encode ( self . nanosecond, forKey: " NS.nanosec " )
1412
- aCoder. encode ( self . weekOfYear, forKey: " NS.weekOfYear " )
1413
- aCoder. encode ( self . weekOfMonth, forKey: " NS.weekOfMonth " )
1414
- aCoder. encode ( self . yearForWeekOfYear, forKey: " NS.yearForWOY " )
1415
- aCoder. encode ( self . weekday, forKey: " NS.weekday " )
1416
- aCoder. encode ( self . weekdayOrdinal, forKey: " NS.weekdayOrdinal " )
1417
- aCoder. encode ( self . isLeapMonth, forKey: " NS.isLeapMonth " )
1418
- aCoder. encode ( self . calendar? . _nsObject, forKey: " NS.calendar " )
1419
- aCoder. encode ( self . timeZone? . _nsObject, forKey: " NS.timezone " )
1420
- } else {
1421
- NSUnimplemented ( )
1422
- }
1400
+ guard aCoder. allowsKeyedCoding else {
1401
+ preconditionFailure ( " Unkeyed coding is unsupported. " )
1402
+ }
1403
+ aCoder. encode ( self . era, forKey: " NS.era " )
1404
+ aCoder. encode ( self . year, forKey: " NS.year " )
1405
+ aCoder. encode ( self . quarter, forKey: " NS.quarter " )
1406
+ aCoder. encode ( self . month, forKey: " NS.month " )
1407
+ aCoder. encode ( self . day, forKey: " NS.day " )
1408
+ aCoder. encode ( self . hour, forKey: " NS.hour " )
1409
+ aCoder. encode ( self . minute, forKey: " NS.minute " )
1410
+ aCoder. encode ( self . second, forKey: " NS.second " )
1411
+ aCoder. encode ( self . nanosecond, forKey: " NS.nanosec " )
1412
+ aCoder. encode ( self . weekOfYear, forKey: " NS.weekOfYear " )
1413
+ aCoder. encode ( self . weekOfMonth, forKey: " NS.weekOfMonth " )
1414
+ aCoder. encode ( self . yearForWeekOfYear, forKey: " NS.yearForWOY " )
1415
+ aCoder. encode ( self . weekday, forKey: " NS.weekday " )
1416
+ aCoder. encode ( self . weekdayOrdinal, forKey: " NS.weekdayOrdinal " )
1417
+ aCoder. encode ( self . isLeapMonth, forKey: " NS.isLeapMonth " )
1418
+ aCoder. encode ( self . calendar? . _nsObject, forKey: " NS.calendar " )
1419
+ aCoder. encode ( self . timeZone? . _nsObject, forKey: " NS.timezone " )
1423
1420
}
1424
1421
1425
1422
static public var supportsSecureCoding : Bool {
0 commit comments