NSObject是所有类的基类,其常见用法有:

#import <Foundation/Foundation.h>

@interface Person : NSObject
- (void)test;
@end #import "Person.h" @implementation Person
- (void)test {
NSLog(@"调用了Person的test方法");
}
@end #import "Person.h" @interface Student : Person - (void)test; - (void)test2:(NSString *)a; @end #import "Student.h" @implementation Student - (void)test {
NSLog(@"调用了test方法");
} - (void)test2:(NSString *)a {
NSLog(@"调用了test2方法:%@", a);
} @end
#import <Foundation/Foundation.h>
#import "Student.h"
#import "Person.h" #pragma mark NSObject常用方法
void objUse() {
Student *stu = [[[Student alloc] init] autorelease]; // isKindOfClass判断对象是否属于某个类 或者 子类
if ( [stu isKindOfClass:[Person class]] ) {
// NSLog(@"stu属于Person或者继承自Person");
} // isMemberOfClass判断对象是否属于某个类(不包括子类)
BOOL result = [stu isMemberOfClass:[Student class]];
// NSLog(@"%i", result); // 直接调用
// [stu test]; // 间接调用
[stu performSelector:@selector(test)];
// [stu performSelector:@selector(test2:) withObject:@"abc"];
// 延迟2秒后调用test2:方法
[stu performSelector:@selector(test2:) withObject:@"abc" afterDelay:];
} void reflect() {
// 类的反射
NSString *str = @"Person";
Class class = NSClassFromString(str); Person *person = [[class alloc] init];
NSLog(@"%@", person); // Class变成字符串
NSString *name = NSStringFromClass([Person class]); // 方法的反射
NSString *method = @"test";
SEL selector = NSSelectorFromString(method);
[person performSelector:selector]; // 将SEL转换为字符串
NSString *selectorName = NSStringFromSelector(selector); [person release];
}

Objective-C:Foundation框架-常用类-NSObject的更多相关文章

  1. Objective-C:Foundation框架-常用类-NSString全解

    Foundation框架中常用的类有字符串.集合.字典等,这里介绍字符串NSString.本文分别介绍了NSString的创建.从文件里读取NSString字符串.通过函数改变外部的NSString变 ...

  2. Objective-C:Foundation框架-常用类-NSDictionary

    与NSString.NSArray一样,NSDictionary是不可变的,其对应可变类型为NSMutableDictionary.其用法如下: #import <Foundation/Foun ...

  3. Objective-C:Foundation框架-常用类-NSMutableDictionary

    直接上代码吧: #import <Foundation/Foundation.h> @interface Student : NSObject @property (nonatomic, ...

  4. Objective-C:Foundation框架-常用类-NSMutableArray

    NSMutableArray是NSArray对的子类,它是可变的,可以随意添加或者删除元素.与Array,也有静态和动态两种创建方法.也可已使用NSArray的方法来创建NSMutableArray. ...

  5. Objective-C:Foundation框架-常用类-NSArray

    NSArray是用来存储对象的有序列表(NSSet是没有顺序的),它是不可变的.NSArray不能存储C语言中的基本数据类型,如int\float\enum\struct等,也不能存储nil.其用法如 ...

  6. Objective-C:Foundation框架-常用类-NSNull

    集合中是不能存储nil值的,因为nil在集合中有特殊含义,但有时确实需要存储一个表示“什么都没有”的值,那么可以使用NSNull,它也是NSObject的一个子类. #import <Found ...

  7. Objective-C:Foundation框架-常用类-NSDate

    直接上代码吧: #import <Foundation/Foundation.h> #pragma mark 日期创建 void dateCreate() { // date方法返回的就是 ...

  8. Objective-C:Foundation框架-常用类-NSNumber

    NSArray.NSDictionary是不可以存储C语言中的基本数据类型的.NSNumber可以将基本数据类型包装成对象,这样可以间接将基本数据类型存进NSArray.NSDictionary等集合 ...

  9. Objective-C:Foundation框架-常用类-NSValue

    NSNumber是NSValue的子类,前者只能包装数字,后者可以包装任意值.NSArray.NSDictionary只能存储OC对象,不能存储结构体.因此,如果想要在NSArray.NSDictio ...

随机推荐

  1. zoj 1648 判断线段是否相交

    链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=648 Circuit Board Time Limit: 2 Second ...

  2. FormsAuthentication.HashPasswordForStoringInConfigFile 方法 之研究

    摘自:http://time-is-life.cnblogs.com/articles/322523.html 给定标识哈希类型的密码和字符串,该例程产生一个适合存储在配置文件中的哈希密码. [C#] ...

  3. 将图片转成base64 小工具

    工作需要使用,所以就做了一个小工具,方便使用 推荐使用 chrome,ff . 毕竟是个小工具方便自己使用而已,所以没有做浏览器兼容测试了! 代码如下,直接保存为 .html 打开即可 <!DO ...

  4. [转载] C++ 程序员快过来围观:非常实用全面的 C++ 资源

    原文: http://codecloud.net/c-plus-plus-resource-2983.html 绝对是c++开发者的福音啊, 必须推荐. 这次的资源涉及到了标准库.Web应用框架.人工 ...

  5. SQL 总结

    1. select 使用正则表达式 正则表达式的模式串, 与linux基本相同, oracle提供以下4个函数来支持正则表达式: REGEXP_LIKE: 比较一个字符串是否与正则表达式匹配(看来是返 ...

  6. 适应各浏览器图片裁剪无刷新上传jQuery插件(转)

    看到一篇兼容性很强的图片无刷新裁剪上传的帖子,感觉很棒.分享下!~ 废话不多说,上效果图. 一.首先建立如下的一个page <!DOCTYPE html> <html xmlns=& ...

  7. 线程高级应用-心得7-java5线程并发库中阻塞队列Condition的应用及案例分析

    1.阻塞队列知识点 阻塞队列重要的有以下几个方法,具体用法可以参考帮助文档:区别说的很清楚,第一个种方法不阻塞直接抛异常:第二种方法是boolean型的,阻塞返回flase:第三种方法直接阻塞. 2. ...

  8. Docker-利用dockerfile来搭建tomcat服务

    在前面的例子中,我们从下载镜像,启动容器,在容器中输入命令来运行程序,这些命令都是手工一条条往里输入的,无法重复利用,而且效率很低.所以就需要一 种文件或脚本,我们把想执行的操作以命令的方式写入其中, ...

  9. latex输入希腊字母

    \alpha产生字符α;\beta产生字符β:\gamma产生字符γ:\delta产生字符δ;\epsilon产生字符ε; \zeta产生字符ζ:\eta产生字符η;\theta产生字符9; \iot ...

  10. 项目解析- JspLibrary - part1

    http://rosspc:8080/JspLibrary/ 1. logon界面解析: JS 验证用户名.密码为空 <form name="form1" method=&q ...