首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Objective C中的实例变量/方法参数命名

在Objective-C中,实例变量和方法参数的命名约定与其他C语言类似。以下是一些建议的命名规范:

  1. 实例变量:实例变量应以小写字母开头,并使用驼峰命名法。例如:userNameemailAddress
  2. 方法参数:方法参数应以小写字母开头,并使用驼峰命名法。例如:firstNamelastName
  3. 常量:常量应使用大写字母和下划线,例如:kMaxLength
  4. 静态变量:静态变量应以小写字母开头,并使用驼峰命名法。例如:static int totalCount;
  5. 枚举值:枚举值应使用大写字母和下划线。例如:enum { kRed, kGreen, kBlue };
  6. 宏定义:宏定义应使用大写字母和下划线。例如:#define MAX_LENGTH 100
  7. 类名:类名应以大写字母开头,并使用驼峰命名法。例如:PersonStudent
  8. 方法名:方法名应以小写字母开头,并使用驼峰命名法。例如:calculateAgecompareNames
  9. 协议:协议名应以大写字母开头,并使用驼峰命名法。例如:UITableViewDataSourceUITableViewDelegate
  10. 文件名:文件名应与类名相同,并使用大写字母和下划线。例如:Person.hPerson.m

请注意,这些命名规范并非强制性的,但遵循这些规范可以使代码更易于阅读和维护。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Objective-C 变量作用域 原

iOS,修饰变量关键字有四个,分别是:  1  @public  被这个关键字修饰变量是完全开放,只要有这类对象存在,就可以访问到这个变量。...2  @protected 被这个关键字修饰变量是受保护,只有在声明变量这个类中和它子类,可以访问。  ...3  @private 被这个关键字修饰变量是私有的,只能在声明这个变量类中使用,子类也不能使用。  ...4  @package 这个关键字比较难理解,大致意思是被修饰变量是封装,在本框架内可以自由使用,效果和@public 相同,而在框架外不能使用,其子类也不能使用,效果又相当于@private。...一点扩展: 访问类变量,我们可以用->符号,它和点语法区别在于,点语法实际上是调用set与get方法,而->符号是直接访问变量。 专注技术,热爱生活,交流技术,也做朋友。

53020

Objective-C编写省略参数多参函数

Objective-C编写省略参数参数函数 引语: 在Object-C,我们会遇到很多像NSLog这样函数,其中参数个数不确定,由程序员自由控制,在初始化数组,字典等方面应用广泛,那么,这类函数是如何实现呢...我们怎么编写我们自己省略参数函数呢?当然,这不是唯一多参函数处理方法,你也可以通过一个字典或者数组传递参数。但C为我们提供这样一种机制,无疑是最方便。...一、了解几个概念 va_list C语言中定义一个指针,用于指向当前参数。...,比如如果一个函数参数如下: void func(int a,int b,int c,int d) 那么传递参数时候参数d先入栈,接着是c、b、a。...如此这样,在取参时候,根据堆栈取值原则,则取值顺序为a、b、c、d。所以在原理上,只要我们知道第一个参数地址和每个参数类型,我们就可以将参数都取出来。

98310

【Java变量】 局部变量、成员变量(类变量实例变量)、方法参数传递机制

局部变量与成员变量区别: 局部变量与成员变量区别: ①声明位置: 局部变量方法体{}内,形参,代码块{} 成员变量:类中方法外 类变量:有static修饰 实例变量:没有static修饰...方法执行完自动释放。 实例变量:堆,此内存区域唯一目的就是存放对象实例,几乎所有对象实例都在这里分配内存。Java虚拟机规范描述——所有的对象实例以及数组都要在堆上分配。...类变量方法区,用于存储已被虚拟机加载类信息、常量、静态变量、即时编译器编译后代码等数据。 ④作用域: 局部变量:从声明处开始,到所属}结束。 实例变量:在当前类“this.”...⑤生命周期: 局部变量:每一个线程,每一次调用执行都是新生命周期。 实例变量:随着对象创建而初始化,随着对象被回收而消亡,每个对象实例变量都是独立。 ---- 2....方法参数传递机制 方法参数传递机制(实参给形参赋值): ①实参是基本数据类型 传递数据值 ②实参是引用数据类型 传递地址值 特殊类型:String、包装类等对象不可变性(不做修改只做新增

16430

C# 方法参数 常见命名空间汇总 using使用 main方法参数

本文主要讲 C# 常见命名空间 using static 指令 && 调用静态方法 嵌套命名空间&&作用域 别名 Main() 方法 ---- C# 常见命名空间 命名空间 作用 System...locationNum=8&fps=1 ---- using static 指令 && 调用静态方法C#在不同命名空间类,需要先引入该命名空间,然后new(实例化)后,才能使用。...---- 嵌套命名空间&&作用域 命名空间也有作用域,离开作用域类型将无法使用。但命名空间引入,不像变量声明那么“任性”。...) 写法考虑是在执行程序是提供命令行参数,并在Main方法返回状态标识符。...使用visual studio 软件开发C#,一般用不到,使用控制台应用手动编译 源代码时,提供参数会传入Mian方法

1.3K40

objective-C扩展方法与partial class

; [str PrintToConSole]; [pool drain]; return 0; } 不过有一点要特别注意:c#如果开发人员增加扩展方法跟.net框架自带现有方法重名...但在obj-C,这种情况下开发人员新增加重名方法会覆盖系统原有的方法,而且没有任何提示!一个好习惯是为所有扩展方法(包括类名),都加一个特殊前缀或后缀,以避免重名。...表面上看,partial class与扩展方法是风马牛不相及二个概念,但是在obj-C,这二个其实是一回事。...看看obj-C做法:(主要是看几个文件是如何组织成一个类,代码只是示例而已) 1、先定义BLL.h (主要用于放一些成员变量,基本上只是一个壳而已) #import <Foundation/Foundation.h...productNo:0001 皆大欢喜,很多语言和技术真是“一门通,处处通”,也许:c#"扩展方法"与"部分类"设计灵感正是来自objective-C

83270

Objective-C把URL请求参数转换为字典

上一篇博客是把URL转换为字典,那么我们如何把URL请求参数封装成字典,然后再封装成数组呢?...对OC字符串操作熟练小伙伴们应该觉得这是一个a+b问题,没错把URL参数转换为字典主要是对字符串截取,关键是怎么个截法,才能把字符串参数列表分别转换成键值对。...下面是小菜自己转换思路,如果有更好结局方法还请批评指正,相互学习交流一下,转载请注明出处。         ...a=10&c=30" )     ​    ​接下来就是要把每个url参数列表转换成字典,主要代码如下:     ​    ​    ​代码说明:     ​    ​    ​    ​1.先把参数列表在...url参数列表起始位置获取到,通过方法rangeOfString方法获取     ​    ​    ​    ​2.位置获取到以后我们可以把参数列表从url字符串中提取出来,通过substringFromIndex

1.7K60

objective-C 内存管理之-实例分析

注:这是《Objective-C基础教程》一书上实例,但是原书限于篇幅,分析得比较简单,初次阅读看得比较费劲,这里展开详细讨论一下。 场景:有二个类Car和Engine,即“汽车”和“引擎”。...然后就是description方法(相当于c#ObjecttoString()方法),用于返回一个描述自身字符串。最后就是dealloc方法,用于清理自身所用资源。...2、在setEngine方法,人工调用[newEngine retain]方法,让引擎引用计数加1,这样正好可抵消Car.m类dealloc方法[engine release]带来影响(一加一减...2.2 刚才1.1所说问题依然存在,即Car在init方法预置默认引擎engine0,始终被无视了,未得到解脱。...可能,你我都想到了,在setEngine方法,可以先把原来旧引擎给干掉,然后再把新引擎挂上去,这样就ok了!

49680

python变量命名规则

python变量命名规则 1.变量命名 2. 变量命名描述性 3.变量名尽量短,但是不要太短 4.合理使用变量 5. 变量定义尽量靠近使用 6. 合理使用namedtuple/dict 6....The Zen of Python 1.变量命名 1)命名规范性 变量名可以包括字母、数字、下划线,但是数字不能做为开头。...变量命名描述性 在接受范围内,变量名所描述内容越精准越好。...控制单个函数内变量数量 当某一函数过长时,或者包含太多变量时,请及时把它拆分成多个小函数。 7. 删除掉没用变量 在一个函数,如果某一个定义变量没有被用到,请及时删除它。 8....应该有一种——最好只有一种——明显方法来做这件事。 除非你是荷兰人,否则这种方式一开始可能并不明显。 现在做总比不做好。 虽然永远不做总是比现在好。

1.1K20

objective-C OOP(下)-类(static)方法实例方法、overwrite(覆写)、属性(property)

,就表示这一个是类方法(static 方法),而-(void)表示这是一个实例方法 实现部分: 注意:下面的 -(id) init 即为构造函数。...对应,还有一个-(void)dealloc方法用来释放资源(类似于析构函数或c#dispose()方法)-注:dealloc方法以后在内存管理详细学习,这里先不管它。...foodName; -(void) setMarried:(BOOL)m; -(BOOL) Married; @end 实现部分: 注意下面的:setMarried 与 Married 就是obj-C属性标准写法...; //调用类“静态”方法 [Human toString]; NSLog(@"----------------"); //创造一个Human实例 Human *man = [...Human new]; //调用manshowSex方法 [man showSex]; NSLog(@"----------------"); //定义一个Woman子类实例

69970

Objective-C方法进行注释方法

名字看着挺绕哈,其实就是对某个自己创建方法进行注释,类似编写java代码时注释javadoc一样,可以自动形成规范性方法说明。...我们对方法进行注释时,最需要说明就是方法作用、方法参数以及方法返回结果,所以这里也只说这三个标签,其实很简单,如下所示: /** * @brief 通过两个参数请求一个结果....brief表示方法介绍,param表示参数,如果有多个就多次使用标签,这样在显示时也会显示更好看,return表示返回结果。...虽然在声明方法时会做很多额外工作,但是当代码量大了以后,这样做效果就出来了,免得总是忘记各个方法是做什么参数又是什么,毕竟不能总是依靠起名嘛。...上面也说了,也有简易版注释方式,如下: /** * 通过两个参数请求一个结果.valueOne表示第一个参数.valueTwo表示第二个参数.方法会返回一个结果. */ - (NSString

41620

Objective-CNSInvocation使用

OC调用方法某个对象消息呦两种方式: #1. performanceSelector: withObject: #2. NSInvocation....]; //用performanceSelector调用三个参数方法, 但只传递2个参数, 这样方法第三个参数会自动取我们传第二个值 [self performSelector..., 这里一定要跟方法签名类方法名一致 invocation.selector = @selector(printStr1:Str2:Str3:); //自定义三个参数...} 2、方法参数个数与外界传进来参数数组元素个数不符 //此处不能通过遍历参数数组来设置参数,因为外界传进来参数个数是不可控 //因此通过numberOfArguments方法获取参数个数,是包含...self和_cmd,然后比较方法需要参数和外界传进来参数个数,并且取它们之间最小值 NSUInteger argsCount = signature.numberOfArguments - 2;

70820

Objective-C属性机制

Objective-C 2.0属性机制为我们提供了便捷获取和设置实例变量方式,也可以说属性为我们提供了一个默认设置器和访问器实现。...在学习OC属性之前我们先要知道为什么要为变量实现getter和setter方法,我们先来了解一下实例作用域。     实例变量作用域如下:         1....@protected :受保护,该实例变量只能在该类和其子类内访问,父类protected实例变量在子类是private默认是protected;         3....和setter来访问被隐藏实例变量,OC属性机制就为我们提供了默认getter和setter方法。...@end   2.属性实现  在实现文件我们用@synthesize来实现,用@synthesize来修饰相应变量就起到类getter 和 setter 方法实现作用。

1.3K70

Objective-C集合类

下面详细介绍Objective-C集合类以及每个集合类用法,学过其他面向对象编程语言小伙伴们看到OC集合类会有种莫名亲切感,理解起来问题不大,可以类比Java集合类去学习...在Objective-C集合类主要包括不可变数组--NSArray,  可变数组--NSMutableArray,   不可变字典--NSDictionary,    可变字典--NSMutableDictionary...NSArray也是OC一个对象,使用NSArray也需要进行实例化,前面的博客在类初始化中提到了便利初始化函数和便利构造器,在NSArray也少不了这两样东西我们可以通过NSArray便利初始化函数或者便利构造器进行...NSArray实例化和初始化工作。         ...                字典遍历方法是通过字典里-(NSArray *)allKeys获取所有的key存入数组然后通过遍历数组获取key对应value,封装成函数如下: 1 2 3 4

1.1K70

MessageMock : 优雅模拟 Objective-C 方法

拿到切面过后,就可以拦截到所有的 Objective-C 方法调用,具备了做任何“坏事”条件。...但值得注意是,MessageMock 代码必经路径不能包含任何 Objective-C 方法调用,不然会死循环,所以源码大部分是使用 C++ / Assembly 实现。...当自定义方法返回值和入参是 Objective-C 对象时,这里称之为游离对象便于理解。 游离对象生命周期 对于游离对象,目前是通过__bridge_retained将目标对象引用计数加一。...上层使用考虑 而考虑到上层接口是在 Objective-C 环境运行,若一个作用域还未结束,这个MethodMatcher *就被释放了就会 Crash,所以上层接口层面是这样设计: @implementation...另外,源码 C++ / Assembly 不是专业、性能和设计也不是最优,望各大佬指点一二不胜感激。

79020

Objective-C语法糖

当时把注意力放在了深浅拷贝内存地址分析上了,就没太在意,测试做完啦,在回顾时候发现数组是用下标的方式获取! 于是就有了个疑问,在OC这样写也行?...不是NSArray中有一个方法叫做objectAtIndex来专门获取数组元素嘛,嗯~用下标也行?此时心里窃喜,可以简化一下数组访问元素方式了,又可以偷懒啦!!...为了更好偷懒,于是去百度上Google啦一下这是‘ Xcode 4.4LLVM compiler 4.0’ 引入新特性(2012年WWDC发布东西)。...    在之前博客我是这样初始化NSArray: 1 //NSArray便利初始化 2 NSArray *array1 = [[NSArray alloc] initWithObjects:@...NSNumber *c = @('a'); NSLog(@"a = %@, b = %@, c = %@", a, b, c);

96750

C# 中委托实例命名规则

我们知道一个类属性应该用名词或名词性短语,方法用动词或动宾短语;但是委托实例却似乎有一些游离。...那么委托实例命名,应该遵循属性和变量命名,还是遵循方法命名呢?...---- 委托实例可以当作属性或者变量使用: var action = () => Console.WriteLine("walterlv is a 逗比"); 委托实例也可以当作方法使用: var...在微软官方文档 Naming Guidelines 中提到了 .NET 约定命名方式。...对于委托命名,实际上只在 Names of Type Members 中提到了,不过提及实际上是事件型委托,而不是一般委托实例。然后,微软其他地方官方文档也没有单独提及委托命名方式。

91120
领券