IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 暑假第三周总结 -> 正文阅读

[移动开发]暑假第三周总结


这一周我对之前的appshare进行了修改与订正,接下来进行了学生管理系统的编写。此外,还学习了几种主要的传值方式。

appshare部分:

  1. 完善了按钮点击后状态的保存:
    在上一个界面的viewdidload函数中创建后面的界面,而不是在单独的cell中新alloc下个界面。这样可以保证界面回退后不会重新初始化,即可保证按钮的状态不变。
  2. 修改了聊天界面,效果:
    请添加图片描述

每次点击发送后是两个人轮流说话的模式,两个人可以说不同的文字了。返回上一层后,也保留了最后一次交流的内容:
请添加图片描述
这里使用两个不同的关键字区分两种cell:

if ([reuseIdentifier isEqualToString:@"left"]) {
        self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
        if (self) {
            。。。。。。
        }
        return self;
    } else {
        self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
        if (self) {
            。。。。。。
        }
        return self;
    }

因为左边的信息与右边的信息保存在两个不同的数组中,最后只需判断一下再将最后的对话内容传回上一个页面即可。

传值学习部分:

写了几个博客:
KVO传值
[iOS开发]block传值
[iOS开发]通知传值

学生管理系统部分:

学习了几种传值方式,将几种传值方式应用了一下,首页长这个样子:请添加图片描述
几个功能界面相似这里举一个例子:
请添加图片描述
查找学生可以通过学生的任一属性查找,或者同时使用多种属性查找。找到后可以进行删除或更改的操作。
接下来我添加了排序了功能。这里我使用了数组自带的排序方法,以按成绩排序为例:

- (void)pressScore {
    _studentArraySort = [_studentArraySort sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
        Student *student1 = obj1;
        Student *student2 = obj2;
        NSComparisonResult result = [[NSNumber numberWithInt:[student1.studentScore intValue]]compare:[NSNumber numberWithInt:[student2.studentScore intValue]]];
        if (result == NSOrderedSame) {
            result = [student1.studentClass compare:student2.studentClass];
            return result == NSOrderedDescending;
        } else {
            return result == NSOrderedAscending;
        }
        
    }];
    [self pressBack];
}

使用- (NSArray<ObjectType> *)sortedArrayUsingComparator:(NSComparator NS_NOESCAPE)cmptr API_AVAILABLE(macos(10.6), ios(4.0), watchos(2.0), tvos(9.0));函数。这个函数将数组排序好后返回一个新的数组。这里

if (result == NSOrderedSame) {
    result = [student1.studentClass compare:student2.studentClass];
    return result == NSOrderedDescending;
} else {
    return result == NSOrderedAscending;
}

的作用是,当分数的比较结果为NSOrderedSame即分数相同时,这两名学生将会继续按照他们的班级继续比较,按照从小号班级到大号班级的顺序排列。此外,我还学习了按照拼音首字母来排序,这里需要先将名字转成拼音,使用的方法是:

NSMutableString *name1 = [NSMutableString stringWithString:student1.studentName];
NSMutableString *name2 = [NSMutableString stringWithString:student2.studentName];
CFStringTransform((CFMutableStringRef)name1, NULL, kCFStringTransformToLatin, false);
CFStringTransform((CFMutableStringRef)name2, NULL, kCFStringTransformToLatin, false);
NSComparisonResult result = [name1 compare:name2];

在应用各种传值时还是碰到过一些困难的,我相信未来的学习之路还很长。

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-08-07 12:12:20  更:2021-08-07 12:13:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/17 12:31:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码