ios—知乎日报总结_漓江塔塔主的博客-爱代码爱编程
知乎日报总结
这周有点忙,但还是基本完成了知乎日报的仿写任务,这周主要完成了评论页面和FMDB数据库的使用。
评论
sizeThatFits:
使用这个方法,这个方法必须在一个label的基础上才能用并放在tableView初始化之前,这个方法不能在tableView的事件函数上使用。
UILabel *label = [[UILabel alloc] init];
label.text = self.longDictionary[@"comments"][i][@"content"];
label.textAlignment = NSTextAlignmentLeft;
label.numberOfLines = 0;
label.font = [UIFont systemFontOfSize:18];
这里初始化评论的方式和之前网页界面的操作一样,对于正常的没有回复的评论按照这样写就可以解决问题
FMDB
关于FMDB存储类似于c语言的文件操作,但是用法比文件操作简单很多,主要操作分为FMDatabase数据库的初始化和FMDatabase的增删改查,理解抽象但是操作比较简单易懂。
参考以下大佬的博客
FMDB
关于FMDB的初始化
//FMDB初始化
- (void)databaseInit {
NSString *collectionDoc = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
NSString *collectionFileName = [collectionDoc stringByAppendingPathComponent:@"collectionData.sqlite"];
self.collectionDatabase = [FMDatabase databaseWithPath:collectionFileName];
if ([self.collectionDatabase open]) {
BOOL result = [self.collectionDatabase executeUpdate:@"CREATE TABLE IF NOT EXISTS collectionData (mainLabel text NOT NULL, imageURL text NOT NULL, id text NOT NULL);"];
if (result) {
NSLog(@"创表成功");
} else {
NSLog(@"创表失败");
}
}
NSString *goodDoc = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
NSString *goodFileName = [goodDoc stringByAppendingPathComponent:@"goodData.sqlite"];
self.goodDatabase = [FMDatabase databaseWithPath:goodFileName];
if ([self.goodDatabase open]) {
BOOL result = [self.goodDatabase executeUpdate:@"CREATE TABLE IF NOT EXISTS goodData (id text NOT NULL);"];
if (result) {
NSLog(@"创表成功");
} else {
NSLog(@"创表失败");
}
}
}
剩下的操作就是做一下判断然后遍历数据库进行操作就可以