小编Mic*_*ord的帖子

NSMutableSet的addObject方法是否替换重复或忽略插入?

我正在努力想象是否将现有对象添加到Cocoa中的一个集合实际上替换了该对象,或者只是忽略了addObject:是否存在重复.我正在使用一个自定义对象,如果特定字段相同,则该对象被视为与另一个对象相同.

我重写都isEqual:hash方法,并containsObject:不会返回true,当我打电话,但我想更新一组新的对象,由于某种原因,如果我把它不起作用addObject:.

如果它确实忽略了它,那么用什么代替最佳数据结构NSMutableSet才能产生预期效果?

collections cocoa-touch objective-c ios

3
推荐指数
1
解决办法
3425
查看次数

如果某个对象的某个属性不满足它的谓词,是否可以让NSFetchedResultsController删除一个对象?

我有一个由对象列表填充的NSFetchedResultsController-backed UICollectionViewController.每个对象都有一个名为deleted的BOOL属性.我的fetch控制器使用以下谓词来过滤我的对象.

[NSPredicate predicateWithFormat:@"deleted == NO"];
Run Code Online (Sandbox Code Playgroud)

我的问题是当我通过将其标记为删除对象时deleted = @YES.随后的didChangeObject:方法告诉我,该对象被更新 删除.并且不会从集合视图中删除该对象.如果我退出并重新加载我的应用程序,该对象不会显示在集合视图中,这是正确的行为.

有什么东西我做错了,或者这是预期的行为NSFetchedResultsController

这里要求的更新是代码:

获取控制器配置:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"deleted == %@", @NO];
NSSortDescriptor *timestampSortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"timestamp" ascending:NO];
NSSortDescriptor *prioritySortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"priority" ascending:NO];
NSManagedObjectContext *managedObjectContext = [NSManagedObjectContext MR_defaultContext];
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:[GYNotification description] inManagedObjectContext:managedObjectContext];
[request setEntity:entity];
[request setIncludesSubentities:YES];
[request setSortDescriptors:sortDescriptors];       
[request setPredicate:predicate];

NSFetchedResultsController *aFetchedResultsController =
    [[NSFetchedResultsController alloc] initWithFetchRequest:request …
Run Code Online (Sandbox Code Playgroud)

core-data objective-c nsfetchedresultscontroller ios

3
推荐指数
1
解决办法
1778
查看次数

Swift和Couchbase Lite发出导致EXC_BAD_ACCESS(代码= 2)的函数

我是Couchbase和Swift的新手,我正在尝试获得一个候选架构,并且正在为我正在开发的新应用程序运行.我认为Couchbase非常合适,除了我无法在没有崩溃的情况下使用它.这可能有几个原因,但只是为了进行健全性检查,我只想弄清楚这是不是我做错了.

以下映射函数在每次调用emit函数时都会导致EXC_BAD_ACCESS错误.该函数在启动时从视图控制器调用.我检查了调试器中的参数,它们指向内存中的有效引用.以下是创建查询的函数:

  class func listEvents() -> CBLQuery? {
    if let view:CBLView = DatabaseService.sharedInstance.database.viewNamed("events") {
      if !view.mapBlock { //create the map block if it doesn't exist
        func mapBlock(doc: [NSObject: AnyObject]!, emit: ((key: AnyObject, value: AnyObject!) -> ())?) {
          if let type:AnyObject = doc["type"] {
            if type.isKindOfClass(NSString.self) && (type as String) == Event.docType() {
              if let key: AnyObject = doc["date"] {
                if let emitFunc = emit {
                  emitFunc(key: key, value: doc)
                }
              }
            }
          }
        }
        view.setMapBlock(mapBlock,
          reduceBlock: nil,
          version: "1")
      } …
Run Code Online (Sandbox Code Playgroud)

ios couchbase-lite swift ios8

2
推荐指数
1
解决办法
1631
查看次数

离线 DynamoDB + Serverless + Lambda ResourceNotFoundException

我正在尝试使用无服务器和 DynamoDB 组合一个非常简单的 AWS Lambda。

我创建项目的代码是:

    dynamoDb: DocumentClient

    constructor() {
        this.dynamoDb = new DynamoDB.DocumentClient({region: 'us-east-1'})
    }

    saveFiles(files: File[]): Promise<boolean> {
        return new Promise<boolean>((resolve, reject ) => {
            files.forEach(file => {
                const tableName = process.env.DYNAMODB_TABLE
                this.dynamoDb.put({
                    TableName: tableName,
                    Item: {
                        downloaded: {N : `${file.downloaded ? 1 : 0}`},
                        location: {S: `${file.location}`}
                    }
                }, (error, result) => {
                    if (!!error) {
                        reject(error)
                        return
                    }
                    console.debug(`DB Save result: ${JSON.stringify(result)}`)
                    resolve(true)
                })
            })
        })
    }
Run Code Online (Sandbox Code Playgroud)

错误是:

handler.ts:41
code:"ResourceNotFoundException"
message:"Requested resource not found"
name:"ResourceNotFoundException"
requestId:"2ST4DCE3NJ85UE32OAD6PUMTBJVV4KQNSO5AEMVJF66Q9ASUAAJG" …
Run Code Online (Sandbox Code Playgroud)

javascript amazon-web-services node.js amazon-dynamodb serverless

2
推荐指数
1
解决办法
2454
查看次数