美文网首页
OC零散知识点

OC零散知识点

作者: 南京老侉子 | 来源:发表于2016-12-22 00:17 被阅读0次

判断日期是否是昨天(Nsdate对象方法)

- (BOOL)isYesterday {
    //生成只有年月日的日期对象
    NSDateFormatter *fmt = [[NSDateFormatter alloc] init];
    fmt.dateFormat = @"yyyy-MM-dd";
    
    NSString *selfString = [fmt stringFromDate:self];
    NSDate *selfDate = [fmt dateFromString:selfString];
    
    NSString *nowString = [fmt stringFromDate:[NSDate date]];
    NSDate *nowDate = [fmt dateFromString:nowString];
    
    //比较差距
    NSCalendar *calendar = [NSCalendar currentCalendar];
    NSCalendarUnit unit = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay;
    NSDateComponents *cmps = [calendar components:unit fromDate:selfDate toDate:nowDate options:0];
    
    return cmps.year == 0
    && cmps.month == 0
    && cmps.day == 1;
}

图片拉伸方法

- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight

这个函数是UIImage的一个实例函数,它的功能是创建一个内容可拉伸,而边角不拉伸的图片,需要两个参数,第一个是左边不拉伸区域的宽度,第二个参数是上面不拉伸的高度。
根据设置的宽度和高度,将接下来的一个像素进行左右扩展和上下拉伸。

注意:可拉伸的范围都是距离leftCapWidth后的1竖排像素,和距离topCapHeight后的1横排像素。

参数的意义是,如果参数指定10,5。那么,图片左边10个像素,上边5个像素。不会被拉伸,x坐标为11和一个像素会被横向复制,y坐标为6的一个像素会被纵向复制。

注意:只是对一个像素进行复制到一定宽度。而图像后面的剩余像素也不会被拉伸。

控制代码在整个软件生命周期中只运行一次

把下面代码中的UD换成[NSUserDefaults standardUserDefaults]就行了,也可以像我一样写个宏(#define UD [NSUserDefaults standardUserDefaults])

    if (![UD boolForKey:@"everLaunched"]) {
        [UD setBool:YES forKey:@"everLaunched"];
        [UD setBool:YES forKey:@"firstLaunch"];
    }
    else{
        [UD setBool:NO forKey:@"firstLaunch"];
    }

    if ([UD boolForKey:@"firstLaunch"]) {
        //第一次运行,以游客登录
       do........
    }

根据UIColor生成对于UIImage

- (UIImage *)imageWithColor
{
    CGRect rect = CGRectMake(0.0f, 0.0f, 1.0f, 1.0f);
    UIGraphicsBeginImageContext(rect.size);
    CGContextRef context = UIGraphicsGetCurrentContext();

    CGContextSetFillColorWithColor(context, [self CGColor]);
    CGContextFillRect(context, rect);

    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return image;
}

将数组按目前的顺序反过来排列

arr = [[arr reverseObjectEnumerator] allObjects];

取数组中的最大值(数组内容是NSString也可以使用)

NSNumber* max = [newCountArray valueForKeyPath:@"@max.intValue"];

将数组按从小到大排列(数组内容是NSString也可以使用)

newCountArray = [newCountArray sortedArrayUsingSelector:@selector(compare:)];

让tableview滚动到第一行

[mainFolioTB setContentOffset:CGPointMake(0,0) animated:NO];

相关文章

  • OC零散知识点

    判断日期是否是昨天(Nsdate对象方法) 图片拉伸方法 这个函数是UIImage的一个实例函数,它的功能是创建一...

  • 总结:八天学会OC语言(上)

    day1 OC语言day01-01OC的简介(附C语言知识点回顾)OC语言day01-02C和OC的对比OC语言d...

  • ReactiveCocoa用法示例(二)

    知识点 RACSignal与OC对象方法的绑定 RACSignal与OC对象属性的绑定 [RACSignal me...

  • Objective-C基础

    OC OC知识点 OC的字符串 - 1.类:是结构体的升级,用于定义变量 - - 与结构体的区别 关键字 成员变量...

  • iOS底层原理(一):OC的本质、KVO原理、Category原

    一、OC对象的本质 知识点 我们平时编写的OC代码,底层实现其实都是C\C++代码,OC的对象、类底层都是由C\C...

  • Java

    零散知识点 所有java程序由public static void main(String[] args) { }...

  • 零散知识点

    NSInteger转 Byte 数组,长度为2 NSInteger dis = (NSInteger)distan...

  • 零散知识点

    记录在开发过程中的零散知识点,不定期更新1.可以声明全局的私有变量及函数,只需要添加static修饰符即可; re...

  • 1.1 OC中的私有方法

    本小节知识点: 【掌握】OC中的私有变量 【掌握】OC中的私有方法 1.OC中的私有变量 在类的实现即.m文件中也...

  • OC知识点

    iOS内功篇:浅谈Crash(异常) https://www.jianshu.com/p/948dd7a0f62d...

网友评论

      本文标题:OC零散知识点

      本文链接:https://www.haomeiwen.com/subject/rxkcvttx.html