美文网首页
OC 实现生日到星座的转换

OC 实现生日到星座的转换

作者: 夏槟 | 来源:发表于2016-03-03 20:46 被阅读0次
  • 返回0-11数字,对应“摩羯 水瓶 双鱼 牧羊 金牛 双子 巨蟹 狮子 处女 天枰 天蝎 射手”。代码如下:
- (NSInteger)calculateConstellationWithMonth:(NSInteger)month day:(NSInteger)day
{
    
    NSString *astroFormat = @"102223444433";
    NSInteger index =  month - (day < [[astroFormat substringWithRange:NSMakeRange(month - 1, 1)] integerValue] - (- 19));
    if (index == 12)
    {
        index = 0;
    }
    return index;
}
  • 返回星座字符串,“摩羯 水瓶 双鱼 牧羊 金牛 双子 巨蟹 狮子 处女 天枰 天蝎 射手 摩羯”。代码如下:
- (NSString *)getAstroWithMonth:(NSInteger)month day:(NSInteger)day
{
    NSString *astroString = @"魔羯水瓶双鱼白羊金牛双子巨蟹狮子处女天秤天蝎射手魔羯";
    NSString *astroFormat = @"102223444433";
    NSString *result;
    if (month < 1|| month > 12||day < 1 || day > 31)
    {
        return @"错误日期格式!";
    }
    if(month == 2 && day > 29)
    {
        return @"错误日期格式!!";
    }
    else if (month == 4 || month == 6 || month == 9 || month == 11)
    {
        if (day > 30) 
        {
            return @"错误日期格式!!!";
        }
    }
    result=[NSString stringWithFormat:@"%@",[astroString substringWithRange:NSMakeRange(month * 2-(day < [[astroFormat substringWithRange:NSMakeRange((month - 1), 1)] intValue] - (-19)) * 2,2)]];
    return result;
}

相关文章

  • OC 实现生日到星座的转换

    返回0-11数字,对应“摩羯 水瓶 双鱼 牧羊 金牛 双子 巨蟹 狮子 处女 天枰 天蝎 射手”。代码如下: 返回...

  • IOS热补丁技术汇总 - 截止2016年12月

    发展进程 开源方案只有JSPath。严重期待DynamicCocoa开源实现原生oc到js转换。 OCS史上最疯狂...

  • iOS 代码转成C++

    在iOS 开发过程中,涉及到一些代码的实现,有时候需要将OC代码转换成C++ 来看一下OC代码底层实现,特此记录一...

  • 01-OC对象的本质

    OC对象的本质 我们平时编写的OC代码,最终转换为底层实现基本上绝大部分都是基于C\C++来实现的 下面展示OC代...

  • OC中的反射

    OC中的反射 OC的反射是基于其Runtime实现的,一般表现在字符串和Class转换,字符串和内部方法转换,字符...

  • iOS底层原理——Objective-C的本质

    一、Objective-C的本质 1、OC的本质 OC代码的底层实现其实都是C/C++代码,编译器先把OC代码转换...

  • 通讯录

    IOS 7.0 以上 -- 因此用addressUI 和 address 实现:c语言API -转换为oc 的AP...

  • brige转换

    oc 的id 类型 和 C 的相互转换,主要涉及到 普通桥接转换 和 携带所有权的转换主要 __bridge : ...

  • __bridge的作用

    将OC指针与C语言中指针(或者void *)相互转换。 OC指针与void *不能直接相互转化,涉及到OC中对象的...

  • __bridge 使用注意

    前奏 __bridge CF -> OC (只完成类型转换) OC -> CF (只完成类型转换) __bridg...

网友评论

      本文标题:OC 实现生日到星座的转换

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