我有这个代码填充数组:
func loadObjectsFromRealm() {
private var myObjects: [MyObjects] = []
guard let realm = try? Realm() else { return }
myObjects = realmUtility.getAll(realm)
}
当我要使用它时,如何检查对象是否为零? 例如:
func getFirst() {
var myFirstObj = myObjects[0]
}
是否有东西要检查对象myFirstObject
是否真实?
答案 0 :(得分:2)
// Check for specific object with primary key
func objectExist (id: String) -> Bool {
return realm.object(ofType: MyObject.self, forPrimaryKey: id) != nil
}
// Returns true or false
objectExist(id: "1")
答案 1 :(得分:0)
您可以尝试使用通常的Swift if语句:
if let myFirstObj = myObjects.first
// Do anything with the first object
} else {
print("No first object!")
}
我认为对于这种情况来说已经足够了。
答案 2 :(得分:0)
我尝试了以下方式,你可以这样检查。这里我刚创建了一个nil对象并进行了检查,你可以为你的对象做同样的事情
let obj :UserProfile? = nil;
if (obj == nil){
print("nil objUser");
}else{
print("objUser = \(objUser)")
}
输出: nil objUser
答案 3 :(得分:0)
你可以在访问它之前检查对象是否真的存在
if var myObj: MyObjects = myObjects.indices.contains(index) ? myObjects[index] : nil {
// myObj is exist
}
答案 4 :(得分:0)
我想通过@andromedainiative对答案发表评论,但我没有足够的重复点。
' ID'不能成为一个字符串 - 需要成为一个Int;
func objectExists(id: Int) -> Bool {
return realm.object(ofType: MyObject.self, forPrimaryKey: id) != nil
}
//Returns true of false
objectExists(1)