iOS实现简单备忘录程序——TaskList
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了iOS实现简单备忘录程序——TaskList,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3631字,纯文字阅读大概需要6分钟。
内容图文
在实际生活中,由于事情太多太杂,我们往往会忘记一些事情。该应用就是基于这样的用户痛点而开发的任务列表。类似iOS自带的备忘录程序。你可以随时记录一些信息,并可以实时的进行保存。在程序重新打开时会显示你保存的所有信息。该Demo我已经上传 https://github.com/chenyufeng1991/iOS-TaskList 。
该应用主要实现的技术就是iOS控件UITableView的使用和CoreData进行存储。TableView类似Android中的ListView,可以列表显示信息,并自动增加行数。而CoreData是iOS对SQLite嵌入式数据库的封装,可以极为方便的进行数据的增删改查。我们通过代码来实现一下:
(1)由于我需要使用CoreData来存储数据,所以在一开始创建项目的时候需要勾选Use CoreData那个复选框。项目名称为TaskList.
(2)在创建完项目后,打开TaskList.xcdatamodeld文件,进行CoreData的数据结构设计。点击下方的Add Entity按钮,增加一个实例——Task。然后在右侧增加一个属性taskname,类型为String.因为在对于每一个任务,我们暂时只存储它的任务名称即可。
。
(3)在界面中增加一个任务名称输入框,一个增加按钮,一个TableView即可。在使用segue进行代码绑定后,在ViewController中实现如下:
#import "ViewController.h" #import "AppDelegate.h" #import <CoreData/CoreData.h> @interface ViewController ()<UITableViewDataSource,UITableViewDelegate,UIScrollViewDelegate> @property (weak, nonatomic) IBOutlet UITextField *inputTextField; @property (weak, nonatomic) IBOutlet UITableView *taskTableView; @property(strong,nonatomic) NSMutableArray *taskArray; @property(strong,nonatomic) NSArray *arr; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; //应用启动的时候加载数据库文件; NSManagedObjectContext *context = [(AppDelegate*)[[UIApplication sharedApplication] delegate] managedObjectContext]; NSFetchRequest *fetchData = [[NSFetchRequest alloc] initWithEntityName:@"Task"]; self.arr = [context executeFetchRequest:fetchData error:nil]; self.taskArray = [[NSMutableArray alloc] initWithArray:[self.arr valueForKey:@"taskname"]]; } #pragma mark - UITableViewDataSource //每一个section有几个cell; - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ return self.taskArray.count; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MyCell" forIndexPath:indexPath]; cell.textLabel.text = [self.taskArray objectAtIndex:indexPath.row]; return cell; } #pragma mark - 点击增加按钮 - (IBAction)addTaskButtonClick:(id)sender { NSString *inputStr = [[NSMutableString alloc] initWithFormat:@"%@",self.inputTextField.text]; inputStr = [inputStr stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; //判断如果输入的为空,则不添加; if ([inputStr isEqual: @""]) { UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"提示" message:@"输入的内容不能为空" preferredStyle:UIAlertControllerStyleAlert]; [alert addAction:[UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:nil]]; [self presentViewController:alert animated:true completion:nil]; } else { //每点击一次“确定”按钮后,就把该数据存储到CoreData中; [self saveToCoreData:inputStr]; //把一个文本存储到taskArray数组中; [self.taskArray insertObject:self.inputTextField.text atIndex:self.taskArray.count]; [self.taskTableView reloadData]; //清空输入框; self.inputTextField.text = nil; //点击确定后消失软键盘; [self.inputTextField resignFirstResponder]; } } #pragma mark - 保存数据到CoreData; - (void) saveToCoreData:(NSString *)taskName{ NSManagedObjectContext *context = [(AppDelegate*)[[UIApplication sharedApplication] delegate] managedObjectContext]; NSManagedObject *row = [NSEntityDescription insertNewObjectForEntityForName:@"Task" inManagedObjectContext:context]; [row setValue:taskName forKey:@"taskname"]; [context save:nil]; NSLog(@"已保存到数据库"); } #pragma mark - UIScrollViewDelegate //滚动TableView的时候隐藏软键盘; - (void)scrollViewDidScroll:(UIScrollView *)scrollView{ [self.inputTextField resignFirstResponder]; } @end
最后的实现效果如下:
。
。
github主页:https://github.com/chenyufeng1991 。欢迎大家访问!
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文:http://blog.csdn.net/chenyufeng1991/article/details/49763713
内容总结
以上是互联网集市为您收集整理的iOS实现简单备忘录程序——TaskList全部内容,希望文章能够帮你解决iOS实现简单备忘录程序——TaskList所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。