object-c中疑问

*一般是加在方法的返回值类型声明部分的,比如:-(NSString *)executeSomeThing;+(NSString *)executeAnotherThing;

-(int)addOne;

+(int)addTwo;

从上面可以看出,*是用来表示返回值是指针类型的数据,比如NSString、NSArray、NSNumber等等。没有*的返回值类型通常都是简单类型,比如int、布尔等等+表示该方法是类方法,不需要实例化该类就可以调用。-表示该方法是实例方法,必须要实例化后才能调用。

Object-C中的类方法和实例方法区别

Object-C中方法的概念和Java一样,Object-c中有两种方法—实例方法(需要实例化才能调用的方法)和类方法(类方法也可以说是静态方法,参照Java中的静态方法)。

声明实例方法需要在减号字符(-)作为前缀。声明类方法需要使用加号字符(+)作为前缀。 在Object-c中方法需要在头文件中声明,方法声明示例:

#import <Foundation/Foundation.h> 
@class AnotherClass;
@interface TestClass : NSObject {

int  age;

NSString  *name;

}

-(void)  doMethod1;
-(void)  doMethod3: (NsString *)str withAnotherPara:(float) value; 
+(void)  doMethod4;

-(void)  doMethod2: (NSString *)str;

@end

方法实现示例: 
#import “TestClass.h”

@implementation TestClass

-(void)  doMethod1{ 
    --(方法主体)-- 
}

-(void)  doMethod2:(NSString *) str{ 
    --(方法主体)-- 
}

-(void)  doMethod3:(NSString *) str withAnotherPara:(float)  value { 
    --(方法主体)-- 
}

+(void) doMethod4 {

--(方法主体)--

}

调用方法示例: 
TestClass *justTest =[TestClass alloc];

[justTest doMethod1]; 
[justTest doMethod2 : @”Holle Xiaming”]; 
[justTest doMethod3 : @”Holle xiaming”withAnotherPara:1.0f];

//类方法可直接使用类名调用//

[TestClass doMethod4];

 
时间: 2024-10-15 12:26:44

object-c中疑问的相关文章

解析Thread和Object类中的多线程难点

其实这一篇是想写jdk1.7和jdk1.8里面的concurrentHashMap的,毕竟是阿汤哥介绍的硬核方法,之前研究了一个多星期,大致的内容和难点都看懂了,但是还是有一些不满足的地方.应该是一种知识点的依赖关系的问题: 1.8里面的concurrentHashMap是依赖于LongAdder的实现的:1.7里面的concurrentHashMap的segment是依赖于ReentrantLock的,而ReentrantLock是依赖于AQS框架的,而AQS框架里面有很多知识点和Thread

java的Object类中hashCode()和equals()方法-----转载

JAVA代码:    public static void main(String[] args)    {        Object obj1 = new Object();        Object obj2= new Object();        Object obj3 = obj2;        System.out.println("obj1==obj2 ?"+obj1.equals(obj2));        System.out.println("o

每天一个JavaScript实例-从js脚本中访问object元素中的SVG

<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>每天一个JavaScript实例-从js脚本中访问object元素中的SVG</title> <style> </style> </head> &l

问题1、java.lang中String类和Object类中的equals方法比较

String类中的equals方法重写了Object类中的equals方法,下面通过代码来比较二者的不同之处: 一.String类 1. String s1 = "String"; String s2 = "String"; System.out.println(s1 == s2 ); System.out.println(s1.equals(s2));

Object 类中的 equals方法

1 相等与同一 如果两个对象具有相同的类型以及相同的属性值,则称这两个对象相等.如果两个引用对象指的是同一个对像,则称这两个变量同一.Object类中定义的equals 函数原型为:public boolean equals(Object);他是判断两个对象是否同一,并不是是否相等. 2 equals方法 由于Object 类是所有类的最高基类,所有其他类都继承类Object类的equals()方法,定义原型如下: public boolean equals (Object x){ return

java.long.object类中的重要方法

一:概念 java.long.object Object类是所有Java类的祖先.每个类都使用 Object 作为超类. 二:方法概览 clone() 创建并返回此对象的一个副本. equals(Object obj) 指示某个其他对象是否与此对象“相等”. finalize() 当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法.(JVM中自带的垃圾回收机制只能回收new出的对象) getClass() 返回一个对象的运行时类. hashCode() 返回该对象的哈希码值

object C 中通讯录 以及 正则表达式

在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串.在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容.许多程序设计语言都支持利用正则表达式进行字符串操作. 正则表达式用于字符串处理.表单验证等场合,实用高效.现将一些常用的表达式收集于此,以备不时之需. 常用的第三方正则库: http://regexkit.sourceforge.net/RegexKitLite/index.html 匹配中文字符的正则表达式: [\u4e

Effective JavaScript Item 47 绝不要向Object.prototype中添加可列举的(Enumerable)属性

本系列作为Effective JavaScript的读书笔记. 如果你的代码中依赖于for..in循环来遍历Object类型中的属性的话,不要向Object.prototype中添加任何可列举的属性. 但是在对JavaScript执行环境进行增强的时候,往往都需要向Object.prototype对象添加新的属性或者方法.比如可以添加一个方法用于得到某个对象中的所有的属性名: Object.prototype.allKeys = function() { var result = []; for

[Effective JavaScript 笔记]第47条:绝不要在Object.prototype中增加可枚举的属性

之前的几条都不断地重复着for...in循环,它便利好用,但又容易被原型污染.for...in循环最常见的用法是枚举字典中的元素.这里就是从侧面提出不要在共享的Object.prototype中增加可枚举的属性.这就导致,我们在开发的时候,不能在Object.prototype中添加有用的方法.如,我们想增加一个产生对象属性名数组的allKeys方法将会怎么样? Object.prototype.allKeys=function(){ var res=[]; for(var key in thi

如何让遮罩层悬浮在object标签中

最近使用Flex做了一个图片预览的功能,想要实现当检测所选图片有效性时在整个页面出现一个遮罩层(使用了Jquery的mask插件)以使用户不能再进行其它操作(尤其是提交表单的操作),顺着这个思路把代码写好后测试时发现在其它浏览器中都好用,可是在IE浏览器中就不好用--object标签区域遮罩层不好使,代码如下: <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="tempPictureUplo