Tag: 领域

如何检查什么类属于AnyObject?

例如,有两个模型领域信息 import Foundation import RealmSwift class Music: Object { dynamic var id = "" dynamic var title = "" dynamic var url = "" } class DownloadMusic: Object { dynamic var id = "" dynamic var title = "" dynamic var path = "" } 并有一定的function func test(object: AnyObject) { } 当一个调用作为一个parameter passing'realm.objects(Music)[0]' let realm […]

无法从其他线程删除Realm数据库对象(即使search后)

我遇到了与此线程中的海报类似的问题: 无法删除领域数据库中的对象 我有一个从名为“syncQueue”的队列上search创build的RLMObject子类的数组。 这是一些需要发送到服务器的诊断对象。 将这些对象打包并使用iOS版Google客户端库发送到服务器。 一旦库返回成功上传对象,我想从领域删除它们。 我从Realm中抽取了一些样本。 NSArray *samples = [someClass getMySamplesFromRealm]; 所以现在我有一些样品。 ^^这发生在'syncQueue',它使用自己的线程。 仍然在同一个线程上,我们打包并上传样本。 所以有一个callback块,看起来像这样: GTLServiceTicket *ticket = [service executeQuery:query completionHandler:^(GTLServiceTicket *ticket, id object, NSError *error) { [syncHandler removeTicket:ticket]; if( error ) { // Handle Error } else { [diagDataAccessManager deleteObjects:samples]; } }]; 这是删除这些对象的代码。 1 – (void)deleteObjects:(NSArray *)samples 2 { 3 if (samples.count > […]

领域查询对象属性字段的属性

我正在使用Swift为iOS开发应用程序,并selectRealm作为它的数据库解决scheme。 我问了一个关于Realm的问题 ,现在我又有了一个问题 。 假设我们有这样的模式: class Person: Object { dynamic var id: String = NSUUID().UUIDString dynamic var name: String? dynamic var cars: Car? class Car: Object { dynamic var name: String? 我有一个类(人),其中包含任何数量的另一个类(汽车)的对象。 与“人”“连接”的汽车在该人的背景下具有一些属性(并且对于同一辆汽车对于不同的人或对于两个类似的汽车对于一个人可以是不同的)。 使用List <…>()我们不能存储每个Item的属性,对吗? 如果我们只为一个人使用汽车,并且只有一次,我们可以创build另一个只包含汽车附加属性的类,并将其与人的ID和汽车的ID相链接。 但是,如果我们有两辆具有不同附加属性的类似汽车,那就没有用了。 那么,我如何看待解决scheme。 有一个表(类)存储人的ID,一辆汽车的ID和这辆车的附加属性。 对于同一个人的另一辆车,它具有相同的人员ID,车辆ID(相同或不相同)以及另一个车辆的这个实例的附加属性。 有一个问题(我的意思是一个问题)。 有了这个结构,我想查询所有的汽车从他们的附加属性,人的ID等于some_id 。 我应该怎么做? 或者也许是另一种结构(也许使用List <…>)我应该有这样的行为?

Realm没有用空格查询string字段

我在我的数据源中有这样的function: func getAllFood(by type: String) -> [UserFoodInformation] { var findedFood = [UserFoodInformation]() findedFood.append(contentsOf: baseUserFoodDataSource.getAllFood(by: type)) let predicate = NSPredicate(format: "foodType == %@", type) let resultOfSearching = dataBase.objects(AddedUserFood.self).filter(predicate).sorted(byKeyPath: "name") for searchedFood in resultOfSearching { findedFood.append(searchedFood) } return findedFood } 当我尝试查询包含空白的string时,我没有结果,但如果我用简单的单词参数查询,一切都很好。 这是为什么? 我可以在Realm中有一个由多个单词组成的string字段吗?

由Realm对象制作的用户具有相同的主键区域

我试图使用一个真正的模型,使一个用户configuration文件,这里是模型如下: class UserProfile: Object { dynamic var id = UUID().uuidString dynamic var name:String = "" dynamic var age = "" dynamic var email = "" dynamic var userName = "" dynamic var passWord = "" override static func primaryKey() -> String? { return "id" } } 我通过IBActionbutton将对象添加到默认的领域文件,如下所示: @IBAction func signUpButton(_ sender: UIButton) { try! realm.write […]

UITextfield becomeFirstResponder返回NO

我已经在我的应用程序中实现了UITextFields上的标准“下一个”function(按下一步将移动到下一个适当的文本字段)。 大多数情况下,这种方式运行良好,并将转移到适当的文本框没有问题。 但是由于某些原因,textField在我要求它成为第一响应者的时候会返回NO,我不知道为什么。 关于textfields / view的一些信息: 该视图有多个UITableViews,其中一些UITableViewCells有UITextfields我想成为他们的第一响应者,其他人不。 创build表时,我通过主视图子视图循环查找所有第一响应者,并将其添加到第一响应者数组(_firstResponders – variables名)。 当需要下一个响应者时,每个单元通过一个委托callback到主视图。 以下是我用来获得下一个响应者的代码: //get the current first responders index NSInteger currentIndex = [_firstResponders indexOfObject:currentResponder]; // if the current index plus 1 is less than the overall count of first responders on this view then continue, else resign the responder as no more are avilable if((currentIndex+1) < […]

RealmSwift:需要公共init()错误

import RealmSwift import Realm public class Card : Object { dynamic var username: String = "" dynamic var firstName: String = "" dynamic var lastName: String = "" convenience init?(dictionary: [String:Any]?) { guard let dictionary = dictionary , let username = dictionary["username"] as? String else { return else} self.init() self.username = username self.firstName = firstName […]

在Realm中存储“无符号长整数”的最佳实践scheme

我必须在像14000822124935161134这样的Realm存储中存储大量数据。 目前我通过将它们的types更改为string来存储它们,如下所示,然后保存: NSMutableDictionary *itemInsert = [item mutableCopy]; if([item valueForKey:@"timestamp"]) { unsigned long long timestamp = [[item valueForKey:@"timestamp"] unsignedLongLongValue]; [itemInsert setObject:[NSString stringWithFormat:@"%llu", timestamp] forKey:@"timestamp"]; } RLMRealm *realm = [RLMRealm defaultRealm]; [realm beginWriteTransaction]; [RMember createOrUpdateInRealm:realm withValue:itemInsert]; [realm commitWriteTransaction]; 而我的RLMObject的timestamp属性定义如下: @interface RMember : RLMObject … @property (nullable) NSString *timestamp; … @end Realm这种types的数据还有什么合适的types而不是string ?

保存图像到领域

我想知道是否有可能将图像保存到领域数据库。 如果是,我该怎么做? 我只懂Swift! 先谢谢你

如何将Realm对象转换为嵌套的NSDate属性的JSON?

我有一个嵌套的Realm对象与嵌套对象中的多个嵌套的NSDate属性。 我正在使用这个答案将嵌套的Realm对象转换为NSDictionary ,但我不知道如何将该NSDictionary转换为实际的JSON。 当我使用NSJSONSerialization.dataWithJSONObject() ,我得到的错误: 'Invalid type in JSON write (__NSTaggedDate)' 从我的理解,我必须首先将NSDate属性转换为NSString 。 问题是我不知道如何进入深度嵌套的对象来做到这一点。 此代码生成'Invalid type in JSON write (__NSTaggedDate)'错误中的'Invalid type in JSON write (__NSTaggedDate)' : let exercises = realm.objects(ExerciseProgram).first let dic = exercises!.toDictionary() do { if let postData: NSData = try NSJSONSerialization.dataWithJSONObject(dic, options: NSJSONWritingOptions.PrettyPrinted) { let json = NSString(data: postData, encoding: NSUTF8StringEncoding)! as String […]