Core Data
에 정보를 쓰려고하는데 NSBatchUpdateRequest
을 사용하고 있는데 왜이 오류가 발생하는지 알 수 없습니다. 누군가 여기서 일어나는 일을 설명 할 수 있습니까? Swift를 Objective-C 유형 값으로 변환하는 데 문제가있는 것 같습니다. 여기 치명적인 오류 : 값을 Swift 형식에서 Objective-C 형식으로 연결하지 못했습니다.
fatal error: value failed to bridge from Swift type to Objective-C type
오류가에서 일어나고 코드 내 블록 : 나는에 오류가 발생하고 코드의
func updateUser(user: User) {
var batchRequest = NSBatchUpdateRequest(entityName: "User")
if doesUserExist(user.userId) {
batchRequest.predicate = NSPredicate(format: "userId == %@", user.userId)
}
batchRequest.propertiesToUpdate = [
"userId" : user.userId,
"username" : user.username,
"email" : user.email,
"fullName" : user.fullName,
"gender" : user.gender,
"birthdate" : user.birthdate,
"zipCode" : user.zipCode,
"aboutMe" : user.aboutMe,
"iAm" : user.iAm,
"iLike" : user.iLike,
"favoriteWeapon" : user.favoriteWeapon,
"dateCreated" : user.dateCreated,
"lookingFor" : user.lookingFor,
"minAge" : user.minAge,
"maxAge" : user.maxAge,
"distance" : user.distance,
"gameOwned" : user.gameOwned,
"gameSetting" : user.gameSetting,
"allowedList" : user.allowedList,
"blockedList" : user.blockedList,
"avatarType" : user.avatarType
]
batchRequest.resultType = .UpdatedObjectsCountResultType
var error : NSError?
var results = self.managedObjectContext!.executeRequest(batchRequest, error: &error) as NSBatchUpdateResult
if error == nil {
println("Updated User: \(user.username) \(results.result)")
}
else {
println("Update User Error: \(error?.localizedDescription)")
}
}
라인입니다 :
var results = self.managedObjectContext!.executeRequest(batchRequest, error: &error) as NSBatchUpdateResult
사용자 객체
class User: NSManagedObject {
@NSManaged var aboutMe: String
@NSManaged var avatarType: String
@NSManaged var birthdate: NSDate
@NSManaged var cityState: String
@NSManaged var dateCreated: NSDate
@NSManaged var distance: NSNumber
@NSManaged var email: String
@NSManaged var favoriteWeapon: String
@NSManaged var fullName: String
@NSManaged var gameOwned: AnyObject
@NSManaged var gameSetting: AnyObject
@NSManaged var gender: String
@NSManaged var iAm: String
@NSManaged var iLike: String
@NSManaged var lastMatch: NSDate
@NSManaged var lookingFor: String
@NSManaged var maxAge: NSNumber
@NSManaged var minAge: NSNumber
@NSManaged var pictureUrl: String
@NSManaged var userId: String
@NSManaged var username: String
@NSManaged var zipCode: String
@NSManaged var allowedList: String
@NSManaged var blockedList: String
}
사용자 개체 정의를 표시 할 수 있습니까? –
@MikeTaverne은 사용자 개체 정의를 추가했습니다. –