ios - 在另一个类 objective-c 中保存一个类的实例

标签 ios objective-c fmdb

在一个类中,我正在使用 fmdb 建立数据库连接

类似于(伪代码):

// someClass.m
- (void)sameDatabase:(NSString *)database{
    if (database is the same as before)
    {
        // call method and access reference previously saved in class (someClass) in else statement
    } else {
        ...
        [database open]; //FMDB
        // save reference to database in class (someClass)
        // call method and access reference saved in class (someClass)
    }

如何在类中保存对数据库的引用?

最佳答案

将引用存储在数据成员中。在 Objective-C 中,这将类似于以下内容。我使用的类名是 SomeClass 并假设 FMDatabase 有一个 name 成员。

// someClass.m

@interface SomeClass () // In the .m file, this is for defining private members
{
    FMDatabase* _database; // Convention is to have private data start with _
}
@end

@implementation SomeClass

- (void)sameDatabase:(NSString *)database 
    if ([_database.databasePath isEqualToString:database]) {
        // call method and access reference previously saved in class (someClass) in else statement
    } else {
        ...
        // I can't say what this line should be, so I just used your code.
        // It would depend on the database you are using.
       _database = [FMDatabase databaseWithPath: database];
       [_database open];
    }
}

@end

关于ios - 在另一个类 objective-c 中保存一个类的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49573016/

相关文章:

objective-c - 如何使用 FMDB 将图像(字节)保存和检索到 SQLite(blob)?

iphone - FMDB SQLite 包装器和用户定义/自定义函数

objective-c - 设置为 nil 后对象仍然存在

ios - 没有从 iOS 中的 Facebook sdk 3.2 获取出生日期

iOS:HTTP 服务返回 <null>,如何测试?

objective-c - 基于 View 的 NSOutlineView 中的 NSAttributedString 呈现为普通字符串?

iphone - 如何备份/同步我在documents目录中拥有的sqlite数据库? iCloud是答案吗?

ios - iOS中NSMutableArray如何实现深拷贝和浅拷贝?

c++ - Mac 应用程序的文件保存位置

ios - UITextField rightView 重叠右对齐文本