6月10日-IOS应用-日记本

嗯,经过这几天的学习,我的第一个IOS应用,日记本算是学习完毕了,下面写一篇日记,记录所学到的知识和需要继续学习的地方。

1,首先是ViewController,必须添加两个协议UITableViewDataSource和
UITableViewDelegate,必须实现这两个协议的两个方法,tableView
numberOfRowsInSection和tableView cellForRowAtIndexPath,前者返回行数后者设置行内容。

2,搜索框,搜索框需要加载协议UISearchBarDelegate,它常用的两个方法-(void)searchBar:(UISearchBar
*)searchBar textDidChange:(NSString
*)searchText,--文本修改时触发,-(void)
searchBarSearchButtonClicked:(UISearchBar
*)searchBar点击搜索按钮时触发。

3,向下一个界面传递值。

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender

这个方法是写在父页面里的,比如在里面写-GLYEditViewController
*EditVC = segue.destinationViewController;

EditVC.title =
deletDate;

那你子页面的title就等于deletDate。不管你点哪个按钮,跳转到哪个页面,你的子页面的title都等于deletDate。

4,//允许删除

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath

{

returnUITableViewCellEditingStyleDelete;

}

你这个方法可返回很多方法,然后

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle
forRowAtIndexPath:(NSIndexPath *)indexPath{}

会接收你返回的方法名,比如

if (editingStyle ==
UITableViewCellEditingStyleDelete)

{

//假如删除,做一些操作。

5,谓词搜索,主要用来搜索字符串或数组,已做过笔记。

6,设置空间的样式,例如

//    设置文本框的宽,圆角及颜色

_ContentView.layer.borderWidth     = 
0.2;

_ContentView.layer.cornerRadius    = 
5.0;

_ContentView.layer.borderColor     =  
[UIColorgrayColor].CGColor;

一般layer.后面的属性基本能猜测出用途。

7,你给某个视图定义了identifier,然后想返回某个视图。

UIStoryboard *storyboard = self.storyboard;

//            //此identifier在storyboard上相应页面对应的设置里填写,必须保持一致

UIViewController *push =
[storyboard instantiateViewControllerWithIdentifier:@"DiaryList"];

[self.navigationControllerpushViewController:push
animated:YES];

8,页面的刷新。

[rootController.tableView reloadData];

9,

CoreData--引入框架,并在appDelegate里面做好了模块初始化的相关操作。

managedObjectModel里面,你模块的名字要对应。

MOdel.xcdatamodeld文件描述了表的结构以及表之间的关系,你看的视图不是表也不是库更不是数据,CoreData是盖在数据库上的一层厚厚的钢板,让你啥都看不见,必须按它给的结构写一堆死死的代码。

//    获取数据

GLYAppDelegate
*managed   = [[GLYAppDelegatealloc] init];

NSFetchRequest *fetchRequest
= [[NSFetchRequest alloc] initWithEntityName:@"DiaryData"];

//    排序

NSSortDescriptor
*dateSort = [[NSSortDescriptoralloc]
initWithKey:@"date"

ascending:NO];

fetchRequest.sortDescriptors
= @[dateSort];

NSError *requestError =
nil;

NSArray *ArrayDiaryData =
[managed.managedObjectContext executeFetchRequest:fetchRequest

error:&requestError];

//    拿到值

tableData = [NSMutableArrayarrayWithObjects:nil];

details   = [NSMutableArrayarrayWithObjects:nil];

for (DiaryData *thisDiaryData in
ArrayDiaryData) {

[tableData
addObject:thisDiaryData.title];

[details addObject:thisDiaryData.date];

}

又比如删除

GLYAppDelegate *managed   = [[GLYAppDelegate alloc] init];

NSError
*error;

//        设置谓词并搜索

NSFetchRequest
*fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"DiaryData"];

fetchRequest.predicate = [NSPredicate predicateWithFormat:@"date==%@", deletDate];

NSArray
*arrarResult = [managed.managedObjectContext executeFetchRequest:fetchRequest

error:&error ];

if (!error)
{

for (DiaryData *object in
arrarResult) {

[managed.managedObjectContext deleteObject:object];

}

}

if
([managed.managedObjectContext hasChanges]) {

[managed.managedObjectContext save:&error];

}

变得繁琐的新事物总是不讨人喜欢,这块需要继续学习。

10,自动布局,3.5寸4寸屏幕必须兼容,过不久5寸屏幕也要兼容,横竖屏幕需要兼容,,这块-有自动布局,衡平直接不支持或换sotryboard等方法,一般不把大空间的宽高写死。

结余:简单要记录的就是这些,可能理解的不够深入,所以此文是日记不是教材,,嗯,收拾下代码开始第二个app的开发吧。

时间: 2024-10-07 07:04:32

6月10日-IOS应用-日记本的相关文章

20160210,微软2月10日发布13个安全补丁

?? 大家好,我们是微软大中华区安全支持团队. 微软于北京时间2016年2月10日发布了13个新的安全公告,其中6个为严重等级,7个为重要等级,修复了Microsoft Windows.Microsoft Office..Net Framework.Adobe Flash Player.Internet Explorer和Microsoft Edge软件中的漏洞.其中MS16-014中修复的漏洞CVE-2016-0040和MS16-015中修复的漏洞CVE-2016-0039已经公开披露. 与此

截止9月10日苹果审核指南中文版

苹果在9月3日对App Store审核指南进行了重大更新,新加入了扩展.HealthKit.HomeKit以及TestFlight相关内容.另外,在9月10日新品公布会之后,苹果再次更新了App Store审核指南,加入Apple Pay相关内容.文中红色部分是相对于此前版本号的新增内容,蓝色部分表示苹果相关官方文档的链接. App Store Review Guidelines(英文版). 前言感谢您付出宝贵的才华与时间来开发iOS应用程程序.从职业与酬劳的角度而言,这对于成千上万的开发员来说

2014年10月MVP开始申请了~[截止时间:7月10日]

51CTO与微软中国合作长期为用户提供申请"微软最有价值专家"的平台希望有兴趣.资历的朋友以及正在朝这个方向努力的朋友能够积极参与只要您想参与我们将为您向微软推荐 微软最有价值专家MVP一年评选4次分别为每年的1月.4月.7月.10月.2014年10月的MVP申请截止时间是2014年7月10日. 申请MVP的午饭请下载2014年10月MVP申请表填好后发送到[email protected].我们会在每次MVP申请开始时把用户提交的申请表格推荐到微软中国相关部门 [注意事项]1.51C

5月10日上午学习日志

2017年5月10日上午把昨天记忆的英语单词的多种词意用自己组句的方法联系起来再记忆一遍,然后再联系真题学10个考研高频词汇,然后再复习昨天的词汇,再完成英语app的打卡.

2014年7月10日,我人生的最重要Upgrade

2014年7月10日上午,我的小公主顺利的出生于国妇婴.之前各种紧张,各种不安.在不安中的前天晚上陪着来上海的董博士于方先生在人民广场聚餐.大家都是工作几年的,各种感慨,对于工作中的零零种种.还有对未来的模糊规划.在近11点,散伙回家,在酒精的刺激下,终于睡了个好觉. 在10号的六点半,起床,快速的洗漱后打车到国妇婴,要赶到早高峰之前到达,要知道,从浦东到浦西还是有很多红绿灯的,尽管只有15公里.到达了,陪着老婆做产前的各种检查.当确定了产后还是住六人间的小床后,觉得不可思议,怎么能让产妇和新生

高项学员:2015年10月10日作业

高项学员:2015年10月10日作业1.下载<政府采购法实施例例>2015年新发布的,并看一下(这个不用写,下面的是写的)2.沟通管理计划包括哪些内容?3.风险管理中,负面风险. 正向风险的应对策略?4.采购管理中,包括哪些内容?最晚提交时间:2015年10月12日(下次上课前).提交方法:同学们按照要求完成作业,并发布在自己的51CTO博客,并将博文地址以评论的形式发布在老师布置作业的评论区

【每日圣经日历】2014年10月10日

Vendredi le 10 Octobre 2014 礼拜五 2014年10月10日 Heureux ceux dont les iniquités sont pardonnées, Et dont les péchés sont couverts!                                                                  Romains 4. 7 得赦免其过,遮盖其罪的,这人是有福的.                          

4月10日下午学习日志

   2017年4月10日下午复习了高等数学,继续看了张宇高等数学基础班课程视频第四讲考研数学的基本定理串讲十大基本理论综述及其例题讲解,在此过程中能巩固之前所学内容,不懂的问题得以解决,印象也更加深刻,对复习有很大的帮助,背英语单词100个°

2014年5月10日

时间是毫不留情的,一晃,半年的时间又将过去. 这不仅仅是焦虑,也有无从着手之感. 北京,郊区的出租屋,月薪5K,单身:其实,我过得不错.每天回家,第一件事就是打开电脑,打开chrome,打开央广网的中国之声直播,如果它在播广告,就换到经济之声.这是从大学当播音员以来一直的习惯,也是为了房间里有点声音. 从去年5月到这座我不太喜欢的城市,已经一年,我才想起写些什么东西.By the way,除了空气,并没有什么不满,北京给我机会,给我工作,上天待我很优厚了(笑). 前两年,浑浑噩噩的,毕业两年的时

4月10日上午学习日志

2017年4月10日上午复习了高等数学,继续看了张宇高等数学基础班课程视频第四讲考研数学的基本定理串讲十大基本理论综述及例题分析,第二遍听课过程中能巩固之前所学内容,不懂的问题得以解决,印象也更加深刻,对复习有很大的帮助