总结:
1,property属性的申明 变量名按照编程规范需要 tab两次
2,交叉引用的方法:比如:在UIColor.h中添加引用的交叉对象@class UITextColor;然后在UIColor.m文件中引入#import “UITextColor.h” //交叉引用,需要在.m中再次导入;UITextColor.h中引入#import “UIColor.h”,主函数调用这两个文件“#import “UIColor.h”“
“#import “UITextColor.h””
3,NSDate的使用
NSDate *date = [NSDate date];
NSLog(@"");
NSDateFormatter *format = [[NSDateFormatter alloc] init];
[format setDateFormat:@"yyyy年MM月dd HH:mm:ss"];
NSString *time = [format stringFromDate:date]; //通过格式化对象转化date
NSLog(@"%@",time);
//计算1988年7月15, 2012年4月20日之间有多少天
NSString *dateString1 = @"1988年7月15日";
NSString *dateString2 = @"2012年4月20日";
[format setDateFormat:@"yyyy年MM月dd日"];
NSDate *date1 = [format dateFromString:dateString1];
NSDate *date2 = [format dateFromString:dateString2];
//转化成标准时间
NSString *time1 = [format stringFromDate:date1];
NSString *time2 = [format stringFromDate:date2];
NSLog(@"%@ %@",time1,time2);
NSTimeInterval count = [date2 timeIntervalSinceDate:date1];
int countOfDays = count/3600/24/365;
NSLog(@"相差%d年",countOfDays);
4, compare 的使用(NSstring类中的方法)
NSString *string1 = @"abc";
NSString *string2 = @"abcd";
NSComparisonResult result = [string1 compare:string2]; //升 1 降 1 一样 0
// UIColor.h
// class_补充(便利构造器)_5.20
//
// Created by rimi on 15/5/20.
// Copyright (c) 2015年 rectinajh. All rights reserved.
//
#import <Foundation/Foundation.h>
@class UITextColor;
@interface UIColor : NSObject
@property (strong, nonatomic)NSString *colorString; //两个tab间隔
@property (strong,nonatomic)UITextColor *color;
//instancetype只能在便利构造和init方法中出现
+ (instancetype)color;
- (instancetype)initWithString:(NSString *)colorString;
@end
// UIColor.m
// class_补充(便利构造器)_5.20
//
// Created by rimi on 15/5/20.
// Copyright (c) 2015年 rectinajh. All rights reserved.
//
#import "UIColor.h"
#import "UITextColor.h" //交叉引用,需要在.m中再次导入
@implementation UIColor
//快速创建,传递给子类使用
+ (instancetype)color
{
//UIColor *color = [[UIColor alloc]init];UIColor * ->ID
UIColor *color = [[self alloc]init];//考虑子类,self 保证既能被我自己用,也能被我子类用
return color;
}
//带参初始化
- (instancetype)initWithString:(NSString *)colorString
{
//@"#fffff"rgb颜色提取
self = [super init]; //所有对self的方法,不能用init开头
self.colorString = colorString;
return self;
}
//便利构造方法,通过3个nsinteger的整数(red,green,blue)初始化颜色
+ (instancetype)initWithRed:(NSInteger)red
Green:(NSInteger)green
Blue:(NSInteger)blue
{
UIColor *color = [self init]; //self = alloc init
//通过三个颜色,算出颜色
//red green blue / 255.0
return color;
}
@end
// UITextColor.h
// class_补充(便利构造器)_5.20
//
// Created by rimi on 15/5/20.
// Copyright (c) 2015年 rectinajh. All rights reserved.
//
#import "UIColor.h"
@interface UITextColor : UIColor
@end
// UITextColor.m
// class_补充(便利构造器)_5.20
//
// Created by rimi on 15/5/20.
// Copyright (c) 2015年 rectinajh. All rights reserved.
//
#import "UITextColor.h"
#import "UIColor.h"
@implementation UITextColor
@end
main.m
// class_补充(便利构造器)_5.20
//
// Created by rimi on 15/5/20.
// Copyright (c) 2015年 rectinajh. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "UIColor.h"
#import "UITextColor.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
// insert code here...
//带参初始化 alloc + initwith... 对象已经创建
//便利构造,简化创建对象的过程
UIColor *color = [UIColor color];
//1,无参便利构造方法,用于可变对象快速构造
NSMutableString *string = [NSMutableString string];
//2,用于子类对象初始化
//UIView UIResponder
UITextColor *textColor = [UITextColor color];
NSLog(@"%@",textColor);
//.1,交叉引用 两个类之间,互相引用, 出现互相死循环 a->c->b b->a,避免出现循环
//OC中不支持重复导入同一个文件
//在UIColor.h中添加@class UITextColor;//专门用来断开交叉引用,但是没有具体类的功能,然后uicolor.m 中 添加#import "UITextColor.h" 交叉引用,需要在.m中再次导入
//2. compare (NSstring类中的方法)
NSString *string1 = @"abc";
NSString *string2 = @"abcd";
NSComparisonResult result = [string1 compare:string2]; //升 1 降 1 一样 0
NSLog(@"%ld",result);
//3,NSDate
NSDate *date = [NSDate date];
NSLog(@"");
NSDateFormatter *format = [[NSDateFormatter alloc] init];
[format setDateFormat:@"yyyy年MM月dd HH:mm:ss"];
NSString *time = [format stringFromDate:date]; //通过格式化对象转化date
NSLog(@"%@",time);
//计算1988年7月15, 2012年4月20日之间有多少天
NSString *dateString1 = @"1988年7月15日";
NSString *dateString2 = @"2012年4月20日";
[format setDateFormat:@"yyyy年MM月dd日"];
NSDate *date1 = [format dateFromString:dateString1];
NSDate *date2 = [format dateFromString:dateString2];
//转化成标准时间
NSString *time1 = [format stringFromDate:date1];
NSString *time2 = [format stringFromDate:date2];
NSLog(@"%@ %@",time1,time2);
NSTimeInterval count = [date2 timeIntervalSinceDate:date1];
int countOfDays = count/3600/24/365;
NSLog(@"相差%d年",countOfDays);
//NSvalue 值 继承与NSNumber,主要用在动画部分,NSvalue点point
//用什么方法接返回值
}
return 0;
}