小编Rob*_*son的帖子

iOS上的键值存储数据库

在iOS上创建键值存储数据库的一个示例是YapDatabase.

但是,我没有使用它的经验,并且想知道使用它是否值得,而不是像Core Data或FMDB那样.

我遇到的一个关键问题是:如何管理与此数据库的对象关系?

如果我可以避免对象关系,我正在寻找关于如何解决与另一个对象具有多对多关系的对象问题的建议或数据库设计技巧.

让我们考虑一个用例(这只是一个例子,以帮助解决这个问题):

sender <<->> message <<->> recipient

sender has a: 
    photo_data, 
    name, 
    gender, 
    age, 
    email, 
    username, 
    twitter_id, 
    facebook_id, 
    sender_id

recipient has a: 
    photo_data, 
    name, 
    gender, 
    age, 
    email, 
    username, 
    twitter_id, 
    facebook_id, 
    recipient_id

message has a:
    text, 
    rich_text, 
    picture_data, 
    voice_data, 
    shared_url, 
    message_id
Run Code Online (Sandbox Code Playgroud)

我曾考虑使用message_id,sender_id和recipient_id来关联每个模型,但是有更好的方法吗?

database key-value-store ios yapdatabase

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

自定义RunLoop模式

我在这做错了什么?我错过了什么?

- (void)scheduleTimer
{
    NSTimer *timer = [NSTimer timerWithTimeInterval:0.15
                                             target:self
                                           selector:@selector(wtf:)
                                           userInfo:nil
                                            repeats:NO];

    // This works fine
//  [[NSRunLoop currentRunLoop] addTimer:timer
//                               forMode:NSDefaultRunLoopMode];

    // This doesn't work at all - how come?
    [[NSRunLoop currentRunLoop] addTimer:timer
                                 forMode:@"MyCustomRunLoopMode"];   
}
- (void)wtf:(NSTimer *)aTimer
{
    NSLog(@"wtf");
}
Run Code Online (Sandbox Code Playgroud)

NSRunLoop的文档似乎表明可以创建自定义的runloop模式.我错过了什么吗?

(这是Mac OS X中标准GUI应用程序的主线程)


更新:请注意,我提到这是在标准应用程序的主线程上.因此,我自己并没有运行runloop.这一切都由NSApplication处理.

objective-c

0
推荐指数
1
解决办法
1521
查看次数