从Objective-C到Swift,你必须会的(一)#pragma mark
在Objective-C里,为了让代码组织的有序也方便用control+6的快捷键在Xcode中查找,所以出现了一个大家都很熟悉的东东。这就是:#prama mark。
#pragma mark

但是,这个东西在Swift里对应的是什么呢?
首先简单了很多,不用再写那么多的字母了。。。这些landmark是//MARK:(=>#pragma)、//TODO:、//FIXME。
这些landmark都已经可以在xcode6.0.1里使用了。
Objective-C的#warning在Swift中没有标准对应的landmark,一般都是用fatalError这个全局函数代替了。
/// A fatal error occurred and program execution should stop in debug,
/// optimized and unchecked modes.
@noreturn func fatalError(message: StaticString, file: StaticString = default, line: UWord = default)
在子类必须实现的方法中调用这个函数fatalError("方法未实现")。使用了fatalError方法的地方编译可过。但是在运行的时候会报错!
欢迎加群讨论学习,QQ群:58099570
从Objective-C到Swift,你必须会的(一)#pragma mark的更多相关文章
- swift pragma mark
		
众所周知,大家在OC中对代码进行逻辑组织 用的是#pragma mark - ,生成分隔线 用#pragma mark 函数说明,来生成一个函数的说明X 但在swift中,这个语法就不支持了,毕竟它是 ...
 - swift函数和初始化控件(// MARK:分割线)
		
import UIKit , , , ) view.backgroundColor = UIColor.redColor() self.view.addSubview( ...
 - swift 2.2 语法 (下)
		
前言: 1.此文中的语法会根据Swift的升级变动而更新. 2.如果需要请移步 -> swift2.2 语法(上).swift 2.2语法(中) 类的析构函数 swift会自动释放不需要的实例来 ...
 - iOS开发 Swift开发数独游戏(三) 选关界面
		
一.选关界面涉及到的功能点 1)需要UITableView以及相应数据代理.协议的实现 2)读取plist文件并转化成模型 3)在单元格点击后进入数独游戏,涉及到把数据经segue在UIViewCon ...
 - 【转载】谷歌酝酿将苹果Swift作为安卓APP主要开发语言
		
TNW中文站 4月8日报道 安卓操作系统的软件开发语言是Java,而在过去几年中,有关Java的版权,谷歌(微博)和甲骨文之间发生了长期的诉讼.最新外媒消息称,谷歌正在考虑将苹果开发的Swift作为未 ...
 - Object-C与Swift混合开发
		
Object-C作为Apple的iOS App开发语言服务了很多个年头,2014年Apple推出了新的编程语言Swift.更高效更安全的口号再次吸引了一大批非iOS开发程序猿进入,小编觉得Swift代 ...
 - iOS代码规范(OC和Swift)
		
下面说下iOS的代码规范问题,如果大家觉得还不错,可以直接用到项目中,有不同意见 可以在下面讨论下. 相信很多人工作中最烦的就是代码不规范,命名不规范,曾经见过一个VC里有3个按钮被命名为button ...
 - iOS开发系列--Swift进阶
		
概述 上一篇文章<iOS开发系列--Swift语言>中对Swift的语法特点以及它和C.ObjC等其他语言的用法区别进行了介绍.当然,这只是Swift的入门基础,但是仅仅了解这些对于使用S ...
 - Swift 学习中的一点体会,不断更新中。。。
		
随着Xcode 8的发布,swift 3.0终于来了.又有一大批api名字发生了变化.但是感觉3.0之后的变化应该会小些,因此再重新仔细学习一下. 1. 关于swift引入的Computed Prop ...
 
随机推荐
- PHP安全性考虑
			
用户提交的数据 很多PHP 程序所存在的重大弱点并不是PHP 语言本身的问题,而是编程者的安全意识不高而导致的.因此,必须时时注意每一段代码可能存在的问题,去发现非正确数据提交时可能造成的影响. 例子 ...
 - UTF-8中的BOM
			
UTF-8中的BOM UTF-8不需要BOM来表明字节顺序,但可以用BOM来表明编码方式.字符"ZERO WIDTH NO-BREAK SPACE"的UTF-8编码是EF BB B ...
 - ROS使用国内的DDNS服务
			
未测试.转载余松老师的作品 虽然RouterOS 加入了cloud功能,但最近在配置RB2011的时候发现不好使,更新域名后无法正确解析到我的IP地址,虽然在cloud的public address中 ...
 - 【BZOJ】1756: Vijos1083 小白逛公园(线段树)
			
题目 传送门:QWQ 分析 线段树维护一下最大子序列 维护一下最大前缀 最大后缀 区间和 就ok了 好像只能用结构体..... 代码 #include <bits/stdc++.h> u ...
 - centos软件安装
			
首先安装epel,然后再安装yum加速 #centos7下执行以下命令 wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7. ...
 - delete,truncate,drop的区别
			
操作 删除对象 表和索引的空间 是否回滚 时间 delete table和view的数据,可以使用where精确删除,删除会触发触发器 表或索引的空间不变化 是dml,可以rollback回滚 最慢 ...
 - 几种查询方法(lambda Linq Enumerable静态类方式)
			
1.需要一个数据源类: using System; using System.Collections.Generic; namespace Linq { public class Student { ...
 - C# DataTable添加行和列
			
方法一: DataTable tblDatas = new DataTable("Datas"); DataColumn dc = null; dc = tblDatas.Colu ...
 - 用API处理位图
			
procedure TForm1.Button1Click(Sender: TObject); var dc : hdc; MemDc : hdc; MemBitmap : hBitmap; OldM ...
 - python 迭代器/生成器/迭代对象
			
生成器: 带有yield的函数 迭代器:带有next 方法的对象,可以作为内建函数next的参数 迭代对象:带有__iter__方法的对象,__iter__方法返回迭代器 -------------- ...