OC中的方法与函数的区别

OC方法:

 1.OC方法必须以 - 开头

2.OC方法的定义包括声明和实现两部分,声明必须在@interface @end之间,实现必须在@implementation @end之间

3.OC方法只能有类的对象/实例方法

4.OC方法仅归类/类的对象所有

函数:

1.函数能写在文件的 任何位置(一般除了类的声明之间)

2.函数归文件所有

3.函数的调用不依赖对象

4.函数的内部不能用类的成员变量名直接去访问类的成员变量

时间: 2024-10-17 21:28:20

OC中的方法与函数的区别的相关文章

黑马程序员 10-OC方法与函数的区别

———Java培训.Android培训.iOS培训..Net培训.期待与您交流! ——— 方法与函数的区别 1.方法: 1.对象方法都是以减号 - 开头  2.对象方法的声明必须写在@interface @end之间   3.对象方法的实现必须写在@implementation @end 之间 4.对象方法只能由对象调用  5.对象方法归类\对象所有 6.类方法都是以加号 + 开头,其他规则和对象方法相同 7.类方法既可以被类(类名)调用,也可以被对象调用 2.函数: 1.函数归文件所有,跟对象

Python中str()与repr()函数的区别——repr() 的输出追求明确性,除了对象内容,还需要展示出对象的数据类型信息,适合开发和调试阶段使用

Python中str()与repr()函数的区别 from:https://www.jianshu.com/p/2a41315ca47e 在 Python 中要将某一类型的变量或者常量转换为字符串对象通常有两种方法,即 str()或者 repr() . >>> a = 10 >>> type(str(a)) <class 'str'> >>> type(repr(a)) <class 'str'> 但是这二者之间有什么区别呢?因

JS中构造函数与普通函数的区别及JS构造函数、原型和实例的关系

JS中构造函数与普通函数的区别: https://www.cnblogs.com/cindy79/p/7245566.html JS构造函数.原型和实例的关系: https://blog.csdn.net/u012443286/article/details/78823955 JavaScript构造函数及原型对象: https://blog.csdn.net/a153375250/article/details/51083245 原文地址:https://www.cnblogs.com/jim

python中方法与函数的区别与联系

今天huskiesir在对列表进行操作的时候,用到了sorted()函数,偶然情况下在菜鸟教程上看到了内置方法sort,同样都可以实现我对列表的排序操作,那么方法和函数有什么区别和联系呢? 如下是我个人总结: 1.调用的方式不一样:函数:通过"函数名()"的方式调用方法:通过"对象.方法名"的方式调用 2.作用域不一样:函数内出现的有关计算.赋值等操作,在函数运行完之后里面的结果不会保留方法则是实实在在影响到当前环境 3. 在实例化中 class Foo(objec

QF——OC中把方法当做参数传递的两种形式(@selector和block)

@selector(): 可以理解@selector()就是取类方法的编号,他的基本行为等同于C语言中的函数指针(指向函数的指针).它们通过传递方法的地址(或编号)来实现把方法当做参数的效果. 不过在C语言中,可以直接把一个函数名赋给一个函数指针,但是在OC中不行,而是要通过@selector语法来取.它的括号里传入的是方法名,返回结果是 SEL类型,该类型本质上就是方法的编号(地址). block: block,名为代码块.它和函数很相似,有返回值,有名称,有参数列表. 格式: 返回值类型 (

[译]Scala方法和函数的区别

Scala中既有函数也有方法,大多数情况下我们都可以不去理会他们之间的区别.但是有时候我们必须要了解他们之间的不同. Scala中的方法跟Java的方法一样,方法是组成类的一部分.方法有名字.类型签名,有时方法上还有注解,以及方法的功能 实现代码(字节码). Scala中的函数是一个完整的对象.Scala中用22个特质(trait)抽象出了函数的概念.这22特质从Function1到Function22 如上图中的Function10代表的是:有10个形参,返回值为R(协变)的函数. Scala

【转载】JS中bind方法与函数柯里化

原生bind方法 不同于jQuery中的bind方法只是简单的绑定事件函数,原生js中bind()方法略复杂,该方法上在ES5中被引入,大概就是IE9+等现代浏览器都支持了(有关ES5各项特性的支持情况戳这里ECMAScript 5 compatibility table),权威指南上提到在ES3中利用apply模拟该方法的实现(JS权威指南中函数那章), 但无法真实还原该方法, 这也是真bind方法中的有趣特性. (原文这边理解有问题, 这段话的意思如果结合犀牛书上下文的意思, 再结合犀牛书中

JS与OC中的方法相互调用

文章主要是介绍oc如何调用js 以及js的代码调用oc的方法 先上代码后做解释 //oc的.m 的代码 //ps接下来有js的代码一并解析,最后会附上demo //  ViewController.m //  JSAndOC // //  Created by dongqiangfei on 16/7/21. //  Copyright ? 2016年 dongqiangfei. All rights reserved. // #import "ViewController.h" #i

OC 中NULL nil和NSNULL的区别

一.nil:nil是oc的,nil是一个空的对象,指针地址指向的是NULL 在oc中,可以给nil发送任何消息,都不会报错 二.NULL:是c的,空地址,数字,本身的数值是0  不能给NULL消息 三.NSNULL :是为了向数组或者字典中添加空值使用的 从Xcode6开始,取消了NULL的只能提示,因为swift 中没有NULL的概念,只有nil -在OC中,使用NULL或者nil都不会出错 -但是:从概念的角度而言,**(指针的指针)的参数,不想获取对ui内容,应该传入NULL -OC中提供