首先学习NSObject

//
//  ViewController.m
//  localization
//
//  Created by City--Online on 15/5/15.
//  Copyright (c) 2015年 XQB. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    //NSObject内包含 alloc、init方法
    NSObject *obj=[[NSObject alloc]init];
    //父类
    NSLog(@"superClass: %@",[obj superclass]);
    //当前类
    NSLog(@"Class: %@",[obj class]);
    //copy
    NSLog(@"copy: %@",[NSObject copy]);
    //hash
    NSLog(@"hash:%ld",[obj hash]);
    //description
    NSLog(@"description: %@",[obj description]);
    //debugDescription
    NSLog(@"debugDescription: %@",[obj debugDescription]);
//    - (id)performSelector:(SEL)aSelector;
//    - (id)performSelector:(SEL)aSelector withObject:(id)object;
//    - (id)performSelector:(SEL)aSelector withObject:(id)object1 withObject:(id)object2;
    [self performSelector:@selector(test)];
    //isProxy
    BOOL isProxy=[obj isProxy];
    NSLog(@"isProxy: %d",isProxy);

//    - (BOOL)isKindOfClass:(Class)aClass;
//    - (BOOL)isMemberOfClass:(Class)aClass;
//    - (BOOL)conformsToProtocol:(Protocol *)aProtocol;
//    - (BOOL)respondsToSelector:(SEL)aSelector;

    //来确定一个对象是否是一个类的成员,或者是派生自该类的成员
    BOOL isKindOfClass=[obj isKindOfClass:[NSObject class]];
    NSLog(@"isKindOfClass:%d",isKindOfClass);

    //只能确定一个对象是否是当前类的成员
    BOOL isMemberOfClass=[obj isMemberOfClass:[NSObject class]];
    NSLog(@"isMemberOfClass:%d",isMemberOfClass);

    //是用来检查对象是否实现了指定协议类的方法
    BOOL IsConformsToProtocol=[obj conformsToProtocol:@protocol(UIApplicationDelegate)];
    NSLog(@"IsConformsToProtocol: %d",IsConformsToProtocol);

    //用来判断是否有以某个名字命名的方法(被封装在一个selector的对象里传递)
    BOOL isRespondsToSelector=[obj respondsToSelector:@selector(hash)];
    NSLog(@"isRespondsToSelector:%d",isRespondsToSelector);

    // selector 用来判断实例是否有以某个名字命名的方法. 和上面一个不同之处在于, 前面这个方法可以用在实例和类上,而此方法只能用在类上
    BOOL isInstancesRespondToSelector=[NSObject instancesRespondToSelector:@selector(hash)];
    NSLog(@"isInstancesRespondToSelector:%d",isInstancesRespondToSelector);

}
-(void)test
{
    NSLog(@"test");
}
- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

UIKit框架之NSObject的更多相关文章

  1. 79、iOS 的Cocoa框架、Foundation框架以及UIKit框架

    Cocoa框架是iOS应用程序的基础 1. Cocoa是什么? Cocoa是 OS X和ios 操作系统的程序的运行环境. 是什么因素使一个程序成为Cocoa程序呢?不是编程语言,因为在Cocoa开发 ...

  2. Swift - 重写UIKit框架类的init初始化方法(以UITabBarController为例)

    原来写了篇文章讲UITabBarController的用法,当时是从UIViewController跳转到UITabBarController页面,代码如下: 1 self.presentViewCo ...

  3. UIKit框架

    在今后的应用程序构建中,会陆续使用各式各样的控件,因此UIKit框架的引入是必不可少的! 一.简介 UIKitk框架提供一系列的Class(类)来建立和管理iPhone OS应用程序的用户界面接口.应 ...

  4. iOS学习32之UIKit框架-可视化编程-XIB

    1. Interface Builder 可视化编程 1> 概述 GUI : 图形用户界面(Graphical User Interface, 简称GUI, 又称图形化界面) 是指采用图形方式显 ...

  5. 基础框架Fundation和UIkit框架的定义和使用

    Foundation 框架为所有应用程序提供基本的系统服务 您的应用程序以及 UIKit 和其他框架,都建立在 Foundation 框架的基础结构之上.Foundation 框架提供许多基本的对象类 ...

  6. iOS开发概述UIkit动力学,讲述UIKit的Dynamic特性,UIkit动力学是UIkit框架中模拟真实世界的一些特性。

    转发:http://my.oschina.net/u/1378445/blog/335014 iOS UIKit动力学 Dynamics UIAttachmentBehavior 实现iMessage ...

  7. iOS开发UIKit框架-可视化编程-XIB

    1. Interface Builder 可视化编程 1> 概述 GUI : 图形用户界面(Graphical User Interface, 简称GUI, 又称图形化界面) 是指采用图形方式显 ...

  8. UIKit 框架之UIView二

    下面这些都是UIView一些基本的东西,具体的可以参考UIKit 框架之UIView一博客 一.自定义一个View // // MyView.m // UIView // // Created by ...

  9. UIKit 框架之Bar、Controller

    UIKit框架中有各种Bar,UITabBar.UINavigationBar.UIToolbar.Bar对应的就有一些Item,tabBarItem.navigationItem.toolbarIt ...

随机推荐

  1. StringBuffer 去掉最后一个字符

    StringBuffer stringBuffer=new StringBuffer (); stringBuffer.append("aaa,"); stringBuffer.d ...

  2. [leetcode 8] String to Integer

    1 题目: Implement atoi to convert a string to an integer. Hint: Carefully consider all possible input ...

  3. !!! no internal routing support, rebuild with pcre support !!!

    sudo apt-get install libpcre3 libpcre3-dev sudo pip install uwsgi -I --no-cache-dir

  4. python 操作mysql数据库之模拟购物系统登录及购物

    python 操作mysql数据库之模拟购物系统登录及购物,功能包含普通用户.管理员登录,查看商品.购买商品.添加商品,用户充值等. mysql 数据库shop 表结构创建如下: create TAB ...

  5. 数据库索引、B树、B+树

    数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询.更新数据库表中数据.索引的实现通常使用B树及其变种B+树. 在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某 ...

  6. WinForm POST上传与后台接收

    前端 using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using ...

  7. nodejs 环境配置技巧

    环境:Mac OSX 10.10.3 NodeJS:v0.12.2 NodeJs 安装指需要 1.执行 npm install xxxx -g 时 需要执行 sudo npm install xxxx ...

  8. [学习笔记]Link-Cut Tree

    我终于理解了 \(LCT\)!!!想不到小蒟蒻有一天理解了!!! 1.[模板]Link Cut Tree 存个板子 #include <bits/stdc++.h> using names ...

  9. Python 一篇学会多线程

    多线程和多进程是什么自行google补脑,廖雪峰官网也有,但是不够简洁,有点晕,所以就整个简单的范例. 对于python 多线程的理解,我花了很长时间,搜索的大部份文章都不够通俗易懂.所以,这里力图用 ...

  10. Oracle11g手动创建数据库方法

    Oracle11g手动创建数据库方法 参考网页http://www.th7.cn/db/Oracle/201311/36926.shtml 安装路径 我的安装路径是:E:\app\admin\prod ...