小编NOr*_*der的帖子

如何在mongodb中生成唯一对象id

当我使用Mongodb和Java时,我想在客户端生成Object id.但是,在插入记录之前,我必须首先查询mongodb以确保ObjectId()方法生成的id是唯一的.有没有办法我可以生成唯一的对象ID而无需访问mongodb两次?

java mongodb

28
推荐指数
3
解决办法
7万
查看次数

如何更快地将视图渲染到图像中?

我正在制作放大镜应用程序,允许用户触摸屏幕并移动他的手指,将有一个放大镜与他的手指路径.我通过截屏实现它并将图像分配给放大镜图像视图,如下所示:

    CGSize imageSize = frame.size;
    UIGraphicsBeginImageContextWithOptions(imageSize, NO, 0.0);
    CGContextRef c = UIGraphicsGetCurrentContext();
    CGContextScaleCTM(c, scaleFactor, scaleFactor);
    CGContextConcatCTM(c, CGAffineTransformMakeTranslation(-frame.origin.x, -frame.origin.y));
    [self.layer renderInContext:c];
    UIImage *screenshot = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return screenshot;
Run Code Online (Sandbox Code Playgroud)

问题是这个问题很self.layer renderInContext慢,因此用户在移动手指时感觉不顺畅.self.layer renderInContext然而,我试图在其他线程中运行,它使放大镜图像看起来很奇怪,因为放大镜中的图像显示延迟.

有没有更好的方法将视图渲染成图像?确实renderInContext:使用GPU?

core-graphics calayer uiview ios ios6

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

如何用限制内存计算字符串数?

任务是计算输入文件中的字数.

输入文件每行8个字符,有10M行,例如:

aaaaaaaa  
bbbbbbbb  
aaaaaaaa  
abcabcab  
bbbbbbbb  
...
Run Code Online (Sandbox Code Playgroud)

输出是:

aaaaaaaa 2  
abcabcab 1  
bbbbbbbb 2  
...
Run Code Online (Sandbox Code Playgroud)

如果我将所有单词加载到内存中,它将需要80MB内存,但在os系统中只有60MB,我可以用它来执行此任务.那么我该如何解决这个问题呢?

我的算法是使用map<String,Integer>,但jvm在线程"main"中抛出异常java.lang.OutOfMemoryError:Java堆空间.我知道我可以通过设置-Xmx1024m来解决这个问题,但是我想用更少的内存来解决它.

java algorithm

12
推荐指数
3
解决办法
562
查看次数

如何设置CATextLayer文本的垂直位置?

我使用以下代码创建UILabelCATextLayer在我的应用程序中

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.textLabel = [[UILabel alloc] initWithFrame:CGRectMake(20, 90, 20, 20)];
    self.textLabel.text = @"1";
    self.textLabel.font = [UIFont systemFontOfSize:12];
    self.textLabel.backgroundColor = [UIColor redColor];
    [self.view addSubview:self.textLabel];

    self.textLayer = [CATextLayer layer];
    [self.textLayer setString:@"1"];
    [self.textLayer setFont:(__bridge CFTypeRef)([UIFont systemFontOfSize:12])];
    self.textLayer.backgroundColor = [UIColor greenColor].CGColor;
    self.textLayer.frame = CGRectMake(70, 90, 50, 20);
    [self.view.layer addSublayer:self.textLayer];
}
Run Code Online (Sandbox Code Playgroud)

结果是

在此输入图像描述

红色的是UILabel,绿色的是CALayer. I want to know how to vertical align the text inCALayer , as theUILabel`显示.

calayer uilabel ios catextlayer

11
推荐指数
4
解决办法
9426
查看次数

如何序列化类?

当我将一个List插入mongodb时,有一个问题:

Exception in thread "main" java.lang.IllegalArgumentException: can't serialize class mongodb.Person
    at org.bson.BasicBSONEncoder._putObjectField(BasicBSONEncoder.java:234)
    at org.bson.BasicBSONEncoder.putIterable(BasicBSONEncoder.java:259)
    at org.bson.BasicBSONEncoder._putObjectField(BasicBSONEncoder.java:198)
    at org.bson.BasicBSONEncoder.putObject(BasicBSONEncoder.java:140)
    at org.bson.BasicBSONEncoder.putObject(BasicBSONEncoder.java:86)
    at com.mongodb.DefaultDBEncoder.writeObject(DefaultDBEncoder.java:27)
    at com.mongodb.OutMessage.putObject(OutMessage.java:142)
    at com.mongodb.DBApiLayer$MyCollection.insert(DBApiLayer.java:252)
    at com.mongodb.DBApiLayer$MyCollection.insert(DBApiLayer.java:211)
    at com.mongodb.DBCollection.insert(DBCollection.java:57)
    at com.mongodb.DBCollection.insert(DBCollection.java:87)
    at com.mongodb.DBCollection.save(DBCollection.java:716)
    at com.mongodb.DBCollection.save(DBCollection.java:691)
    at mongodb.MongoDB.main(MongoDB.java:45)
Run Code Online (Sandbox Code Playgroud)

Person类定义如下:

class Person{
    private String name;
    public Person(String name){
        this.name = name;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}
Run Code Online (Sandbox Code Playgroud)

该计划是:

        DBCollection coll = db.getCollection("test");
        DBObject record = new BasicDBObject();
        List<Person> persons= …
Run Code Online (Sandbox Code Playgroud)

java mongodb mongo-java

10
推荐指数
1
解决办法
1万
查看次数

何时以及为何使用多个NSManagedObjectContext?

基本上,我只在我的应用程序中使用了一个moc,但我认为在某些情况下我应该使用多个NSManagedObjectContext.

  1. 什么时候我应该使用多个NSManagedObjectContext?
  2. 我听说在某些情况下我应该使用3 moc,但我不知道哪些情况我应该使用3 moc?

core-data ios

9
推荐指数
2
解决办法
5286
查看次数

可可:如何渲染视图到图像?

我想知道是否有任何方法来渲染图像的视图?就像截图一样,但我可以为该方法指定任何视图.我知道如何在ios中做到这一点.保存视图内容,但是如何在mac os中完成?

macos cocoa

8
推荐指数
1
解决办法
2665
查看次数

Cocoa:OSX上的动画后运行块

我正在使用动画师来实现动画,比如

[[self.view animator] setFrame:newFrame];
Run Code Online (Sandbox Code Playgroud)

但是我希望在动画完成后运行一个方法或块,如下所示:

[[self.view animator] setFrame:newFrame onComplete:^{
    NSLog(@"****");
}];
Run Code Online (Sandbox Code Playgroud)

有没有办法实现它?

macos cocoa

6
推荐指数
1
解决办法
2171
查看次数

ios:如何使用CGPath模糊图像?

在此输入图像描述

我创建了一个CGPath区域,如图所示的绿色圆圈.该CGPath区需要明确,并且图像的其余部分将被应用模糊或半透明的效果,我可以剪辑图像内CGPath与下面的代码:

UIGraphicsBeginImageContext(view.frame.size);
CGContextAddPath(ctx, path);
CGContextClip(ctx);

[view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *clipImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(clipImage, nil, nil, nil);
CGPathRelease(path);
Run Code Online (Sandbox Code Playgroud)

但我不知道如何同时使用CGPath应用模糊或半透明效果.我想我可以模糊原始图像并将其与剪辑图像合并,但我不知道如何实现它.

cocoa-touch core-graphics uiimage ios

5
推荐指数
1
解决办法
751
查看次数

为什么我应该直接从初始化方法中访问实例变量?

使用Objective-C文档的Apple Programming声明:

您应该始终直接从初始化方法中访问实例变量,因为在设置属性时,对象的其余部分可能尚未完全初始化.即使您不提供自定义访问器方法或从您自己的类中知道任何副作用,未来的子类也可以很好地覆盖该行为.

但是我不知道setter方法会有什么副作用,请举个例子来解释为什么我必须直接从初始化方法中访问实例变量

objective-c ios

5
推荐指数
1
解决办法
382
查看次数