Tôi có hai mục tiêu app
và appTests
. Ngoài ra tôi có lớp Wine
và khung Realm
và 'RealmSwift' được liên kết với hai mục tiêu đó. Không có ngoại lệ Khi tôi sử dụng lớp Wine
trong traget app
.Lớp học được liên kết nhiều lần trong mục tiêu
Nhưng khi tôi muốn chạy thử nghiệm như
appTests.swift (22 dòng)
import UIKit
import XCTest
import RealmSwift
class appTests: XCTestCase {
func testRealmAdd() {
NSFileManager.defaultManager().removeItemAtPath(Realm.defaultPath, error: nil)
let realm = Realm()
let wine = Wine() // when error occure
wine.photo = "photo"
wine.desc = "description"
wine.raiting = 3.0
realm.write {() -> Void in
realm.add(wine)
}
let result = realm.objects(Wine)
print("\(result)")
XCTAssertTrue(result.count == 1, "There should be one element")
}
}
Wine.swift (10 lines)
import UIKit
import RealmSwift
class Wine: Object {
dynamic var desc: String = ""
dynamic var photo: String = ""
dynamic var raiting: Double = 0
}
Sau đó một ngoại lệ xuất hiện tại dòng 8 ở appTests.swift
Các lớp con RLMObject có cùng tên không thể được bao gồm hai lần trong cùng một mục tiêu. Vui lòng đảm bảo rằng 'Wine' chỉ được liên kết một lần với mục tiêu hiện tại của bạn.
Tôi đã làm rõ ràng DerivedData và dự án. Bạn có thể đề nghị nơi tôi nên tìm?
EDIT sau khi bình luận nhgrif
Ok có vẻ như một ngoại lệ được tăng sớm hơn, phù hợp 7. Mà bây giờ được đánh dấu trong mã nhờ nhgrif.
Dòng nào là dòng 8? Điều này có thể không liên quan gì đến mã nguồn, mà thay vào đó là cách bạn liên kết các khung công tác với các dự án. – nhgrif
@nhgrif Tôi thêm những khung như hướng dẫn nói https://realm.io/docs/swift/latest/#getting-started, và sau đó tôi đánh dấu 'Realm.framework',' RealmSwift.framework' và 'Wine.swift' như được kiểm tra cho mục tiêu 'appTests' trong ** Target Membership ** –