@@ -232,69 +232,31 @@ extension PersistentContainer {
232
232
userDetail. userID = latestUserDetail. userID
233
233
userDetail. username = latestUserDetail. username
234
234
}
235
- if let blockingUserIDs = previewUserDetail. blockingUserIDs {
236
- userDetail. blockingUserIDs = blockingUserIDs
237
- }
238
- if let creationDate = previewUserDetail. creationDate {
239
- userDetail. creationDate = creationDate
240
- }
241
- else {
242
- userDetail. creationDate = . now
243
- }
244
- if let followerUserIDs = previewUserDetail. followerUserIDs {
245
- userDetail. followerUserIDs = followerUserIDs
246
- }
247
- if let followerUsersCount = previewUserDetail. followerUsersCount {
248
- userDetail. followerUsersCount = . init( followerUsersCount)
249
- }
250
- if let followingUserIDs = previewUserDetail. followingUserIDs {
251
- userDetail. followingUserIDs = followingUserIDs
252
- }
253
- if let followingUsersCount = previewUserDetail. followingUsersCount {
254
- userDetail. followingUsersCount = . init( followingUsersCount)
255
- }
256
- if let isProtected = previewUserDetail. isProtected {
257
- userDetail. isProtected = isProtected
258
- }
259
- if let isVerified = previewUserDetail. isVerified {
260
- userDetail. isVerified = isVerified
261
- }
262
- if let listedCount = previewUserDetail. listedCount {
263
- userDetail. listedCount = . init( listedCount)
264
- }
265
- if let location = previewUserDetail. location {
266
- userDetail. location = location
267
- }
268
- if let mutingUserIDs = previewUserDetail. mutingUserIDs {
269
- userDetail. mutingUserIDs = mutingUserIDs
270
- }
271
- if let name = previewUserDetail. name {
272
- userDetail. name = name
273
- }
274
- if let profileHeaderImageURL = previewUserDetail. profileHeaderImageURL {
275
- userDetail. profileHeaderImageURL = profileHeaderImageURL
276
- }
277
- if let profileImageURL = previewUserDetail. profileImageURL {
278
- userDetail. profileImageURL = profileImageURL
279
- }
280
- if let tweetsCount = previewUserDetail. tweetsCount {
281
- userDetail. tweetsCount = . init( tweetsCount)
282
- }
283
- if let url = previewUserDetail. url {
284
- userDetail. url = url
285
- }
286
- if let userAttributedDescription = previewUserDetail. userAttributedDescription {
287
- userDetail. userAttributedDescription = . init( userAttributedDescription)
288
- }
289
- if let userCreationDate = previewUserDetail. userCreationDate {
290
- userDetail. userCreationDate = userCreationDate
291
- }
292
- if let userID = previewUserDetail. userID {
293
- userDetail. userID = userID
294
- }
295
- if let username = previewUserDetail. username {
296
- userDetail. username = username
235
+ func assign< T> ( _ value: T ? , to dest: inout T ) {
236
+ if let value = value {
237
+ dest = value
238
+ }
297
239
}
240
+ assign ( previewUserDetail. blockingUserIDs, to: & userDetail. blockingUserIDs)
241
+ assign ( previewUserDetail. creationDate ?? . now, to: & userDetail. creationDate)
242
+ assign ( previewUserDetail. followerUserIDs, to: & userDetail. followerUserIDs)
243
+ assign ( previewUserDetail. followerUsersCount. flatMap ( { . init( $0) } ) , to: & userDetail. followerUsersCount)
244
+ assign ( previewUserDetail. followingUserIDs, to: & userDetail. followingUserIDs)
245
+ assign ( previewUserDetail. followingUsersCount. flatMap ( { . init( $0) } ) , to: & userDetail. followingUsersCount)
246
+ assign ( previewUserDetail. isProtected, to: & userDetail. isProtected)
247
+ assign ( previewUserDetail. isVerified, to: & userDetail. isVerified)
248
+ assign ( previewUserDetail. listedCount. flatMap ( { . init( $0) } ) , to: & userDetail. listedCount)
249
+ assign ( previewUserDetail. location, to: & userDetail. location)
250
+ assign ( previewUserDetail. mutingUserIDs, to: & userDetail. mutingUserIDs)
251
+ assign ( previewUserDetail. name, to: & userDetail. name)
252
+ assign ( previewUserDetail. profileHeaderImageURL, to: & userDetail. profileHeaderImageURL)
253
+ assign ( previewUserDetail. profileImageURL, to: & userDetail. profileImageURL)
254
+ assign ( previewUserDetail. tweetsCount. flatMap ( { . init( $0) } ) , to: & userDetail. tweetsCount)
255
+ assign ( previewUserDetail. url, to: & userDetail. url)
256
+ assign ( previewUserDetail. userAttributedDescription. flatMap ( { . init( $0) } ) , to: & userDetail. userAttributedDescription)
257
+ assign ( previewUserDetail. userCreationDate, to: & userDetail. userCreationDate)
258
+ assign ( previewUserDetail. userID, to: & userDetail. userID)
259
+ assign ( previewUserDetail. username, to: & userDetail. username)
298
260
if save {
299
261
do {
300
262
try context. save ( )
0 commit comments