Objective-C:Foundation框架-常用类-NSObject
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的更多相关文章
- Objective-C:Foundation框架-常用类-NSString全解
Foundation框架中常用的类有字符串.集合.字典等,这里介绍字符串NSString.本文分别介绍了NSString的创建.从文件里读取NSString字符串.通过函数改变外部的NSString变 ...
- Objective-C:Foundation框架-常用类-NSDictionary
与NSString.NSArray一样,NSDictionary是不可变的,其对应可变类型为NSMutableDictionary.其用法如下: #import <Foundation/Foun ...
- Objective-C:Foundation框架-常用类-NSMutableDictionary
直接上代码吧: #import <Foundation/Foundation.h> @interface Student : NSObject @property (nonatomic, ...
- Objective-C:Foundation框架-常用类-NSMutableArray
NSMutableArray是NSArray对的子类,它是可变的,可以随意添加或者删除元素.与Array,也有静态和动态两种创建方法.也可已使用NSArray的方法来创建NSMutableArray. ...
- Objective-C:Foundation框架-常用类-NSArray
NSArray是用来存储对象的有序列表(NSSet是没有顺序的),它是不可变的.NSArray不能存储C语言中的基本数据类型,如int\float\enum\struct等,也不能存储nil.其用法如 ...
- Objective-C:Foundation框架-常用类-NSNull
集合中是不能存储nil值的,因为nil在集合中有特殊含义,但有时确实需要存储一个表示“什么都没有”的值,那么可以使用NSNull,它也是NSObject的一个子类. #import <Found ...
- Objective-C:Foundation框架-常用类-NSDate
直接上代码吧: #import <Foundation/Foundation.h> #pragma mark 日期创建 void dateCreate() { // date方法返回的就是 ...
- Objective-C:Foundation框架-常用类-NSNumber
NSArray.NSDictionary是不可以存储C语言中的基本数据类型的.NSNumber可以将基本数据类型包装成对象,这样可以间接将基本数据类型存进NSArray.NSDictionary等集合 ...
- Objective-C:Foundation框架-常用类-NSValue
NSNumber是NSValue的子类,前者只能包装数字,后者可以包装任意值.NSArray.NSDictionary只能存储OC对象,不能存储结构体.因此,如果想要在NSArray.NSDictio ...
随机推荐
- error: command 'gcc' failed with exit status 1 的解决办法
yum install gcc python-devel 之前yum install gcc* 了 所以没成功. wget http://prdownloads.sourceforge.net/doc ...
- 最新的windows xp sp3序列号(绝对可通过正版验证)
MRX3F-47B9T-2487J-KWKMF-RPWBY(工行版) 可用(强推此号) QC986-27D34-6M3TY-JJXP9-TBGMD(台湾交大学生版) 可用 CM3HY-26VYW-6J ...
- [SAP ABAP开发技术总结]日期函数
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- jQuery的.click,.bind,.unbind,.on,.off,.delegate,.undelegate
.click与.bind .click和.bind都是给每个元素绑定事件,对于只绑定一个click事件,.bind事件的简写就是.click那种方式. 这两种方式都会出现两个问题: 第一个问题,如果要 ...
- netbeans环境的建立
这是一个简单的实验,熟悉NetBeans的IDE环境的开发 首先下载一个NetBeans,可以在官网上下https://netbeans.org/downloads/index.html 要装NetB ...
- windos多线程编程
随机数滚动发生器 #include <stdio.h> #include <Windows.h> #include <ctime> #include <pro ...
- typeof升级版,可以识别出array、object、null、nan、[]、{}
typeof 经常混淆array.object.null等,升级处理一下. 可以将这个函数放在common.js中使用. function getTypeName(v) { var v_str = J ...
- nginx的location root 指令
原文:http://blog.csdn.net/bjash/article/details/8596538 location /img/ { alias /var/www/image/; } #若按照 ...
- Linux mysql常用操作命令
原文:http://blog.csdn.net/lifuxiangcaohui/article/details/46375931 1.linux下启动MySQL的命令:mysqladmin start ...
- Three.js 3D特效学习
一.Three.js基本介绍 Three.js是JavaScript编写的WebGL第三方库.提供了非常多的3D显示功能.Three.js 是一款运行在浏览器中的 3D 引擎,你可以用它创建各种三维场 ...