OC -- NSCalendar的使用 与OC的反射

NSDate *date = [NSDate date];

NSLog(@"%@", date);

NSCalendar *ca = [NSCalendar currentCalendar];

NSDateComponents *res = [ca components:NSCalendarUnitYear fromDate:date];

NSLog(@"%ld", res.year);

NSDateComponents *res2 = [ca components:NSCalendarUnitMonth fromDate:date];

NSLog(@"%ld", res2.month);

NSCalendarUnit unit = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;

NSDateComponents *res3 = [ca components:unit fromDate:date];

NSLog(@"%ld--%ld--%ld", res3.year, res3.month, res3.day);

NSLog(@"%ld:%ld:%ld", res3.hour, res3.minute, res3.second);

// 反射reflect

NSString *str = @"Person";

Class class = NSClassFromString(str);

Person *p = [[class alloc] init];

NSLog(@"%@", [p class]);

NSString *str2 = NSStringFromClass([p class]);

NSLog(@"%@", str2);

// 方法的反射

NSString *method = @"say";

SEL sel = NSSelectorFromString(method);

[p performSelector:sel];

时间: 2024-10-29 19:05:34

OC -- NSCalendar的使用 与OC的反射的相关文章

iOS开发OC基础:OC基础概念总结,OC面向对象的思想

一.什么是OOP: OOP(Object Oriented Programming):面向对象编程 二.面向对象和面向过程的区别: 面向过程编程:分析解决问题的步骤,实现函数,依次使用面向对象编程:分解问题组成的对象,协调对象间的联系和通信,解决问题. 面向过程是以事件为中心,关心的是完成这个事件的详细步骤:面向对象是以事物为中心,关心的是事物应该具备的功能,而完成一个事件只是事物所有功能里面的一个小功能(以过程为中心,以对象为中心) 三.类和对象 对象定义了解决问题的步骤中的行为,不刻意完成一

转载 【iOS开发】网页JS与OC交互(JavaScriptCore) OC ----->JS

目标 本文介绍利用苹果在iOS7时发布的JavaScriptCore.framework框架进行js与OC的交互.我们想要达到的目标是: OC调用网页上的js方法 网页js调用APP中的OC方法 JavaSciptCore.framework框架介绍 JavaScriptCore是webkit的一个重要组成部分,主要是对js进行解析和提供执行环境.具体介绍请看这篇简书的文章:JavaScriptCore 使用 准备环境 创建一个名为JS与OC交互Demo的iOS工程.然后在storyboard添

JSON 数组转化 OC的数组转化成OC格式的字符串

1.将OC的数组转化成OC格式的字符串    NSArray * arr = @[@"aa",@"bb",@"cc"];2.转化    NSString * jsonStr = [arr JSONString];    NSLog(@"%@",jsonStr);

NS前缀\OC中的注释\访问OC原文件、C原文件中的函数

///////////////////////////////////////// //////////////////////////////////////// NS前缀 NS来自于NeXTStep的一个软件 NeXT Software OC中不支持命名空间(namespace) NS是为了避免命名冲突而给的前缀 看到NS前缀就知道是Cocoa中的系统类的名称 "@"的使用方法 1.@""这个符号表示将C中的字符串转化为OC中的字符串对象 2.@符号 OC中的大

【学习笔记】【OC语言】第一个OC程序

1.#import的用途: 1> 跟#include一样,拷贝文件的内容 2> 可以自动防止文件的内容被重复拷贝  2.#import <Foundation/NSObjCRuntime.h>    NSObjCRuntime.h中有NSLog函数的声明  3.Foundation框架头文件的路径 1> 右击Xcode.app --> 显示包内容 2> Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform

1,OC语言的前世今生 ,2,OC语言入门,3,OC语言与C的差异,4,面向对象,5,类和对象的抽象关系,6,类的代码创建,7,类的成员组成及访问

1,OC语言的前世今生 , 一, 在20世纪80年代早期,布莱德.麦克(Brad Cox)设计了OC语言,它在C语言的基础上增加了一层,这意味着对C进行了扩展,从而创造出一门新的程序设计语言,支持对象的创建和操作. 二,1985年,被赶出苹果公司的乔帮主成立了Next公司; 三, 1988年,Next计算机公司获得了OC语言的授权,并发展了OC语言库和一个开发环境,1994年,Next计算机公司(同年更名为Next软件公司)和Sun公司针对NEXTSTEP系统联合发布了一个标准规范,名为OPEN

OC面向对象之第一个OC类

在学过java.c++这样语言之后,再来学习OC语言,虽然也同样是面向对象的语言,但是OC语言仍然给我们一种很"怪异"的感觉.这主要是由于OC语言本身有着它独特的命名和使用方法.总结java语法和OC语法的使用,我们会发现其实还是有很多规律可循的.下面就总结了OC类的一些特性. 一.关于OC类 1.oc中一般用两个文件描述一个类,与java是不同的. 2.后缀.h文件是类的声明文件,用于声明成员变量.方法.使用关键字@interface和@end; 而且.h文件只作声明,并没有对类的方

3.0 定义OC的类和创建OC的对象

接下来就在OC中模拟现实生活中的情况,创建一辆车出来.首先要有一个车子类,然后再利用车子类创建车子对象要描述OC中的类稍微麻烦一点,分2大步骤:类的声明.类的实现(定义).跟函数类似,函数有分声明和定义类的声明代码编写定义一个Car类,拥有2个属性:轮子数.时速,1个行为:跑类名\属性的命名规则:标示符的规则类名的命名规范:有意义.驼峰标识.首字母大写 1 #import <Foundation/Foundation.h> 2 // 类的声明 3 @interface Car : NSObje

oc基础复习01-第一个OC程序

近期简单复习下OC打开iTerm工具 输入命令 mkdir reviewoc 打开Sublime Text文件 open -a Sublime\ Text 写入如下代码: 1 #include <stdio.h> 2 //main所有程序的入口 哈哈 这里就不说了 3 int main() 4 { 5 printf("Hello OC \n"); 6 } 保存为review01.m 编译文件 在reviewoc目录 cc -c review01.m 文件没有错误 直接会产生