值类型和引用类型

  像其它很多编程语言一样,Swift中也有很多内建的基本类型,比如说,整型、浮点型、数组、字典、元组,以及类等等。按照基本类型实例在作为参数进行传递,或者赋值给另外一个实例时所遵循的不同机制,这些基本类型又可以划分为值类型和引用类型。结构体、枚举和元组是典型的值类型数据结构,类则是引用类型数据结...

2018-03-13 02:32:03

阅读数 125

评论数 0

Swift数据结构——栈的实现

  栈(Stack)是一种后入先出(Last in First Out)的数据结构,仅限定在栈顶进行插入或者删除操作。栈结构的实际应用主要有数制转换、括号匹配、表达式求值等等。栈数据结构示意图如下所示: 一、背景知识   从上面的示意图中,我们知道了栈是一种受限制的数据结构,它不像数组...

2018-02-21 21:05:04

阅读数 456

评论数 0

Swift数据结构引言

  了解不同数据结构的优劣,对我们今后的编程工作将十分有帮助(至于有什么帮助,可以自行百度,也可以翻书)。作为这个系列的第一篇博客,我们将重新复习一下Swift中几种内建的基本数据结构。   通常情况下,从元素之间的关系上来讲,我们习惯上将数据结构分为两种基本类型:顺序存储数据结构和连式存储数据...

2018-02-15 20:46:37

阅读数 214

评论数 0

iOS项目练习

最进在练习用storyboard做项目,所以就搞了一个双语版的Demo,不过由于对Objective-C不是特别熟悉,所以Objective-C版本的做得比较慢。总体而言,项目的完成度都不是很高,但是后续一定会慢慢去完善,尽最大限度的去模拟原始项目真实的样子。   Swift项目做得稍微多一点,...

2018-02-06 17:23:27

阅读数 519

评论数 0

修复导航控制器的半屏pop返回手势

我们在《隐藏导航栏并重建全屏pop手势》中说过,如果隐藏了导航控制器的navigationBar,那么就会造成系统默认的侧滑返回功能失效。其实,除了隐藏导航控制器的navigationBar会造成侧滑返回失效之外,只要是修改了默认的leftBarButtonItem,就会造成侧滑返回功能失效,为此...

2018-02-04 22:13:18

阅读数 161

评论数 0

通过xib自定义控件所遇到的自动布局大坑

虽然说,在很多情况下,使用Storyboard或者xib开发具有方便快捷的优点,但是,如果使用不熟练的话,将会面临许多巨大无比、令人沮丧的坑。为了尽快踩到这些天坑,我还是决定用Storyboard和xib来搞一搞。   我准备搭建下面这样的界面,因此考虑用xib来创建顶部明星打榜。用xib的好处...

2018-01-31 20:38:27

阅读数 312

评论数 0

隐藏导航栏并重建全屏pop手势

在实际开发过程中,经常碰到push到下一个控制器时,需要隐藏它底部的tabBar和顶部的navigationBar,并且pop回来之后,底部的tabBar和顶部的navigationBar又需要复原。那么,这种功能是如何实现的呢?我们先来看一下没有隐藏tabBar和navigationBar之前的...

2018-01-31 18:42:32

阅读数 273

评论数 0

Python之旅

有人说,”Python除了不能生孩子之外,什么都能做”。这句话当然有些戏谑和夸张,但是也能从某种程度上反映出Python的强大。其实很早之前就决定要开始学习Python了,但是一直没有付诸行动,这次刚好借着准备深入学习iOS的机会来学习一下Python。  自学了一阵子的iOS开发,决定了解一下更...

2017-12-18 21:51:19

阅读数 156

评论数 0

Swift中的内存管理

一、内存分配  值类型,比如说枚举和结构体,它们的内存分配和管理都十分简单。当你新建一个值类型实例时,系统会自动为实例分配大小合适的内存。任何传递实例的操作,比如说作为参数传递给函数,以及存储到属性的操作,它们都会创建实例的副本。当实例不再存在时,Swift会回收内存。因此,我们不需要做任何事情来...

2017-11-28 15:36:15

阅读数 448

评论数 0

通过服务器返回的数据来创建子控制器

如果你有看过这个项目之前的代码,肯定知道我在搭建首页模块的时候,是通过离线数组来创建子控制器的:/// 创建子控制器 private func setupChildViewControllers() { // FIXME: - 从网络获取标题的Tabs,然后通过JSON来设置标题 /...

2017-11-26 15:02:08

阅读数 135

评论数 0

处理直播界面cell上面的小挂件

上回说到直播界面数据解析完了,但是cell上面显示正在直播和在线收听人数,以及预约直播时间等小挂件的数据解析完了,但是UI界面没有做出来,今天终于抽空做完了,先来看一下预览效果:  这个做起来其实非常的简单,只需要把所有的小挂件都添加上去,然后默认它们都隐藏,最后根据服务器返回的数据来决定最终需要...

2017-11-21 11:11:54

阅读数 288

评论数 0

低仿蜻蜓UI

我已经有好长时间没有更新博客了,主要是懒癌发作,刚好最近闲暇时间模仿了一下蜻蜓FM的UI界面。一级界面除了首页的广播模块没有找到数据接口没有做之外,其它的基本上做完了。直播界面的cell做得不完整,比如说左上角显示的“直播中”或者预约直播、右下角显示的在线人数、右上角显示的大咖等级,以及左下角显示...

2017-11-18 21:41:58

阅读数 174

评论数 0

Ruby基础知识学习

最近在学习Ruby,练习代码和相关笔记都放在了github上面,等有空了再慢慢的整理成博客笔记。目前正在看《Ruby基础教程(第5版)》,接下来计划依次看完《Ruby on Rails教程(原书第4版)》和《RESTfull Rails Development》。前面两本书图灵社区均有电子版出售,...

2017-10-21 15:49:51

阅读数 291

评论数 0

自定义UITabBarController、UITabBar和UIButton

通常情况下,在实际开发过程中经常需要自定义UITabBarController,并且很有可能还涉及到自定义UITabBar和UIButton的情况。就以闲鱼为例,我们尝试着模仿一下它。  为了更好的演示和说明,整个演示项目都将使用纯代码来搭建。所以,来到AppDelegate文件中,实现以下代码:...

2017-10-14 09:06:05

阅读数 1322

评论数 0

基本的内部排序

在上一篇笔记《顺序表的查找》中,我们用到了有序表,所以这里简单的搞一下有序表——对任意给定的列表按照某种顺序进行排序,使其成为一个新的有序列表。  对列表进行排序的方法有很多,这里只简单的介绍一下插入排序(Insertion Sort)、冒泡儿排序(Bubble Sort)和选择排序(Select...

2017-09-28 02:56:49

阅读数 182

评论数 0

顺序表的查找

查找(Searching),在计算机中是一个比较常用的操作,通常是指根据给定的某个值,在查找表中确定一个其关键字等于给定值的记录或者元素。如果表中存在这样的元素,则称查找成功,否则就表示查找失败。  我们今天要说的查找,是指基于顺序表的查找,而且主要是静态查找(Static Search),也就是...

2017-09-27 18:58:03

阅读数 2634

评论数 0

Swift 4新特性研究

先占坑,把代码撸上去,有时间再慢慢填坑,没时间就算了

2017-09-21 05:50:52

阅读数 135

评论数 0

Swift中队列的实现

先占坑,有时间再详细解释 //MARK: - 队列的基本实现 public struct Queue { // 泛型数组:用于存储数据元素 fileprivate var data = [T]() /// 构造函数:创建一个空的队列 ...

2017-09-21 05:50:50

阅读数 856

评论数 0

Swift中栈的实现

先占坑,以后有时间再来慢慢填。 // MARK: - 实现一个基本的Stack类型 public struct Stack { // 声明一个泛型数组,用于存储栈里面的元素 fileprivate var elements = [T]() ...

2017-09-21 05:50:47

阅读数 205

评论数 0

从文件中读取字符串

问题:如何从磁盘文件中读取字符串儿,然后按行将其倒序输出?   下面一段材料取自陈寿《三国志》卷三十五诸葛亮传,我把它分成了10段,现在要求从磁盘文件中读取这段文字,然后按照一定的规则倒序输出。比如说,如果我要求输出3行,系统会依次输出第10、9、8三行;如果我要求输出20行,则系统会依次输出10...

2017-09-21 05:50:44

阅读数 1519

评论数 0

提示
确定要删除当前文章?
取消 删除