掌握猫咪的发情周期和交配时机?保证猫咪能顺利交配并怀上猫宝贝?

但大多数铲屎官在猫咪到了成熟的年龄,忽然就开始纠结:要不要让它生完宝宝再做绝育手术,如果直接做绝育手术会不会留有遗憾?想让猫咪生宝宝,但主人又没有猫咪繁育类的知识和经验,如何保证猫咪能顺利交配并怀上猫宝宝呢?这篇文章就带大家了解猫咪备孕的一些小知识。
【菜科解读】
铲屎官在第一次养猫的时候,关于猫咪以后是否绝育或生产,似乎没有想太多。
但大多数铲屎官在猫咪到了成熟的年龄,忽然就开始纠结:要不要让它生完宝宝再做绝育手术,如果直接做绝育手术会不会留有遗憾?想让猫咪生宝宝,但主人又没有猫咪繁育类的知识和经验,如何保证猫咪能顺利交配并怀上猫宝宝呢?这篇文章就带大家了解猫咪备孕的一些小知识。
Part.1猫咪的性成熟阶段大多数猫咪在6个月的时候(尤其是短毛猫),就会进入性成熟阶段。
一般来说,混血品种的猫性成熟会较早,假如没有繁育的需求,6个月龄就可以带去做绝育手术了。
长毛猫和某些品种的短毛猫可能会较晚,大约在10个月以后。
假如铲屎官们想让猫咪生宝宝,母猫最好是超过1岁后再做配种,因为发情会比较稳定,育种会相对容易。
Part.2猫咪的发情周期新手铲屎官们对猫咪的发情周期没有概念,以为一年发情一次就结束了。
其实母猫属于季节性多发情的动物,每次发情约持续3-7天,在发情季节约每隔两周就发情一次。
这个频率,相信过来人深有体会。
母猫的发情与光照的程度有关,日照时间长的季节,猫咪就会发情,大多集中在春天到秋天。
但家庭饲养的猫咪在晚上也会有灯照,所以猫咪在非繁殖季节的冬天也会发情。
公猫基本上是没有发情周期的,主要是受到母猫发情时分泌的费洛蒙刺激而开始发情。
Part.3猫咪发情时的表现母猫发情的表现:比平时更爱撒娇、一直喵喵叫、喜欢翘起屁股、喜欢在地上打滚。
公猫发情的表现:大多数时间都想往外跑(找母猫)、尾巴举高、在家具或墙上喷尿。
不过也有铲屎官家的猫咪性情比较温和,发情期间的行为表现没有非常明显。
另外,纯种的长毛猫叫春会比短毛猫含蓄一些。
Part.4猫咪的配对对已经拥有一公一母两只猫的铲屎官不用过多担心这个问题,而对单猫家庭来说,给未来的小猫咪找个健康的猫爸爸是非常重要的一步。
种公猫的来源一般是铲屎官们自己在猫友圈子里找,也可以在网上征集,具体看视铲屎官的情况而定。
在挑选种公猫的时候,需要注意几点:1、确定对方猫咪品种和你的猫咪品种是一样的(最好不要杂交);2、确定对方猫咪的健康状态,是否患有猫艾滋、猫白血病等传染病,是否定期给猫咪驱虫和疫苗;3、与对方协商,猫咪备孕成功后,是给对方支付费用还是将出生的小猫咪分给对方。
Part.5猫咪的交配时机不是所有的母猫都愿意接受配种,尤其是把猫咪带到新环境后,可能会因为情绪紧张而无心与公猫联络感情。
当母猫开始向公猫求爱时,可以将它们关在一起,让它们交配3-4次。
主人也可以直接将母猫留在公猫的住所,3-4天后再将母猫带回家。
对于比较慢热的母猫,可能需要一周的时间去适应环境,等它们适应环境后才会主动挑逗公猫。
有些公猫的性格比较强烈,可能会使用暴力得逞。
主人也不用过多担心,猫是属于刺激性排卵的动物,在交配的过程中,母猫会因疼痛的刺激而排卵,受孕的机会也会相对增加。
温馨提示:关于是否让猫咪繁育,主人最好早做打算。
大多数猫咪在6个月龄就可以绝育,假如主人一直犹豫,直到猫咪发情了才带猫咪去绝育,很容易造成发情遗留。
就算已经做了绝育手术,也很有可能持续2-3个月的遗留(依然会有性冲动)。
在这期间,猫咪可能会有叫春和乱尿的现象,主人要格外注意。
iphone程序的生命周期分析
首先忘记Xcode给我们生成的代码模板,忘记xib忘记ib,我们亲自一行一行来写一个HelloWorld程序,虽然真正开发项目的时候并不需要这样做Xcode模板和ib都会为我们做好这些打杂的事情,但是现在完全由我们自己来写,放心这个程序是个非常的简单的HelloWorld 程序,代码也很少总共加起来不过10几行。
在这之前我们先来看看object-c语言的关于这段协议代码:@protocol SimpleProtocol-(void)doSomething:(NSString *)str;@end@interface SimpleClass:NSObject{}@end@implementationSimpleClass-(void) doSomething:(NSString*)str{NSLog(str);} @end 这样是一个简单的协议示例,类SimpleClasss实现了名为SimpleProtocol的协议。
协议在其它语言里跟接口非常类似,记住这个协议的实现,接下来会有用的。
接下来用Xcode新建一个名为HelloWorld的Window-based Application类型的项目。
大体上讲一下项目的文件结构,由Xcode模板生成的项目主要包含Classes(HelloWorldAppdelegate.h和HelloWorldAppdelegate.m)、Other Sources(main.m和HelloWorld_Prefix.pch)、Resources(MainWindow.xib和HelloWorld-info.plist)、Frameworks(iphoneSDK提供的系统框架)、Products(HelloWorld.app)这几部分。
直接运行这个工程会在模拟器里看到一个白色的显示界面程序,由此可见没写一行代码Xcode已经给我们生成了一个很简单的项目模板。
每一个iphone程序都包含一个UIApplication对象,它管理整个程序的生命周期,从加载第一个显示界面开始,并且监听系统事件、程序事件调度整个程序的执行。
那么上面这个简单项目中的UIApplication对象在哪呢?在这个项目中我们找不到任何关于UIApplication的代码,其实在项目中UIApplication对象是由UIApplicationMain方法初始化到内存中,首先打开Other Sources文件夹下的main.m源文件,里面只包括了一个main方法,和所有的C程序一样这个是程序入口。
代码如下:int main(int argc, char *argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; int retVal = UIApplicationMain(argc, argv, nil, nil); [pool release]; return retVal;} 在main函数中第二行代码UIApplicationMain(argc, argv, nil, nil);对UIApplication对象进行了初始化,这个方法除了argc 和 argv 参数外,另外这个函数还有2个两个字符串参数来识别UIApplication类和UIApplication代理类,在这里默认是2个nil,第一个参数为nil就默认把UIApplication类作为缺省值进行初始化,可以在这里不填nil而是使用自己定义的UIApplication子类。
至于第二个参数nil就设置为nil就把模板生成的HelloWorldAppdelegate类作为默认值。
这里有了UIApplication对象怎么又出来一个UIApplication代理类对象呢?这里需要说明UIApplication对象说是管理整个程序的生命周期其实它是什么具体的事情都不干,它只负责监听事件当需要做实际工作的时候就交给UIApplication代理类去做,UIApplication相当于传令官负责只把命令传达给UIApplication代理类这个士兵,然后由这个士兵真正去冲锋陷阵,所以需要给UIApplication对象设置代理类。
非常不好意思写了一堆罗嗦的文字还没有进入正题,不过这些罗嗦还是非常有必要的,现在开始编写我们的第一个iphone程序helloWorld。
上面不是说了要忘记代码模板,忘记xib忘记Interfcae Builder嘛,这样我们把模板自动生成的部分删除了,找到Other Sources文件下main.m删除,找到Classes文件夹下的HelloWorldAppdelegate.h和HelloWorldAppdelegate.m删除,把Resources文件夹下的MainWindow.xib删除,还有一件事情一定要做那就是打开Resources文件夹下HelloWorld-info.plist,然后找到key为“Main nib file base name”删除因为在上面我们已经删除了MainWindow.xib,这样就完成的工程的清理,变成了一个真正的空的工程没有什么实现代码。
完成上面的清理工作后,接下来开着我们的编写,首先新建程序入口main.m文件已经main方法,程序从这里开始!!!代码如下:int main(int argc, char *argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; int retVal = UIApplicationMain(argc, argv, nil, @”SampleDelegate”); [pool release]; return retVal;} NSAutoreleasePool内存自动释放池这个干什么我就不说了,你懂得的。
这里主要看一下第二行UIApplicationMain(argc, argv, nil, nil);与模板生成的相比改成UIApplicationMain(argc, argv, nil, @”SampleDelegate”);这样做我们为UIApplication对象设置了名为SampleDelegate代理类,上面不是说了UIApplication是不处理具体事情的,真正做事的是UIApplication代理类,这个名为SampleDelegate代理类就是我们需要具体写代码实现的,当UIApplication初始化后就开始监听事件,根据不同的监听事件让SampleDelegate代理类做不同的处理,比如显示第一个显示界面。
新建名为SampleDelegate.m的类,在SampleDelegate.h输入如下代码:@interface SampleDelegate : NSObject {}@end注意到没有,SampleDelegate: NSObject 这个写法是不是很眼熟 ,在看看最上面那段object-c语言的关于协议代码,SimpleClass类需要实现SimpleProtocol协议定义的方法,这样看来UIApplicationDelegate是一个协议定义,同样SampleDelegate也需要实现UIApplicationDelegate中定义的方法,只是这个协议是系统定义好的(具体可以参看UIApplicationDelegate.h)而SimpleProtocol是我们自己定义的,但是要做的事情相同,就是SampleDelegate需要去实现这UIApplicationDelegate协议定义好的方法, 这些方法就是UIApplication对象监听到系统变化的时候通知UIApplication对象代理类SampleDelegate执行的相应方法。
下面是SampleDelegate的实现代码写在SampleDelegate.m中 注意到没有,SampleDelegate: NSObject 这个写法是不是很眼熟 ,在看看最上面那段object-c语言的关于协议代码,SimpleClass类需要实现SimpleProtocol协议定义的方法,这样看来UIApplicationDelegate是一个协议定义,同样SampleDelegate也需要实现UIApplicationDelegate中定义的方法,只是这个协议是系统定义好的(具体可以参看UIApplicationDelegate.h)而SimpleProtocol是我们自己定义的,但是要做的事情相同,就是SampleDelegate需要去实现这UIApplicationDelegate协议定义好的方法, 这些方法就是UIApplication对象监听到系统变化的时候通知UIApplication对象代理类SampleDelegate执行的相应方法。
下面是SampleDelegate的实现代码写在SampleDelegate.m中:@implementation SampleDelegate- (void)applicationWillResignActive:(UIApplication *)application{}- (void)applicationDidBecomeActive:(UIApplication *)application{}- (void)applicationDidEnterBackground:(UIApplication *)application{}- (void)applicationWillEnterForeground:(UIApplication *)application{}- (void)applicationWillTerminate:(UIApplication *)application{}- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application{}- (void)applicationSignificantTimeChange:(UIApplication*)application{}- (void)applicationDidFinishLaunching:(UIApplication*)application{}- (void)application:(UIApplication*)application willChangeStatusBarFrame:(CGRect)newStatusBarFrame{}- (void)application:(UIApplication*)application willChangeStatusBarOrientation:(UIInterfaceOrientation)newStatusBarOrientation duration:(NSTimeInterval)duration{}- (BOOL)application:(UIApplication*)application handleOpenURL:(NSURL*)url{ return YES;}- (void)application:(UIApplication*)application didChangeStatusBarOrientation:(UIInterfaceOrientation)oldStatusBarOrientation{}- (void)application:(UIApplication*)application didChangeSetStatusBarFrame:(CGRect)oldStatusBarFrame{}@end现在来看协议中定义的这些需要实现的方法分别是什么作用:1、- (void)applicationWillResignActive:(UIApplication *)application说明:当应用程序将要入非活动状态执行,在此期间,应用程序不接收消息或事件,比如来电话了2、- (void)applicationDidBecomeActive:(UIApplication *)application说明:当应用程序入活动状态执行,这个刚好跟上面那个方法相反3、- (void)applicationDidEnterBackground:(UIApplication *)application说明:当程序被推送到后台的时候调用。
所以要设置后台继续运行,则在这个函数里面设置即可4、- (void)applicationWillEnterForeground:(UIApplication *)application说明:当程序从后台将要重新回到前台时候调用,这个刚好跟上面的那个方法相反。
5、- (void)applicationWillTerminate:(UIApplication *)application说明:当程序将要退出是被调用,通常是用来保存数据和一些退出前的清理工作。
这个需要要设置UIApplicationExitsOnSuspend的键值。
6、- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application说明:iPhone设备只有有限的内存,如果为应用程序分配了太多内存操作系统会终止应用程序的运行,在终止前会执行这个方法,通常可以在这里进行内存清理工作防止程序被终止7、- (void)applicationSignificantTimeChange:(UIApplication*)application说明:当系统时间发生改变时执行8、- (void)applicationDidFinishLaunching:(UIApplication*)application说明:当程序载入后执行9、- (void)application:(UIApplication)application willChangeStatusBarFrame:(CGRect)newStatusBarFrame说明:当StatusBar框将要变化时执行10、- (void)application:(UIApplication*)application willChangeStatusBarOrientation:(UIInterfaceOrientation)newStatusBarOrientationduration:(NSTimeInterval)duration说明:当StatusBar框方向将要变化时执行11、- (BOOL)application:(UIApplication*)application handleOpenURL:(NSURL*)url说明:当通过url执行12、- (void)application:(UIApplication*)application didChangeStatusBarOrientation:(UIInterfaceOrientation)oldStatusBarOrientation说明:当StatusBar框方向变化完成后执行13、- (void)application:(UIApplication*)application didChangeSetStatusBarFrame:(CGRect)oldStatusBarFrame说明:当StatusBar框变化完成后执行下图是我总结的一个大概流程图,不是很准确但是基本上也说明了整个过程,仅供参考。
到这为止我们的这个程序运行起来还是什么都没有看到,确实我们也没有写具体的功能代码,接下来我们要做的就是在屏幕上显示“Hello World!”,首先知道一下要在屏幕上显示,首先需要一个UIWindow对象,这个你可以认为是一个电视机,然后还需要往这个UIWindow对象里添加UIView对象, UIView相当于电视上一幕一幕的画面。
通过上面的流程知道要在程序后显示可以在applicationDidFinishLaunching方法中处理,这样修改applicationDidFinishLaunching方法如下:- (void)applicationDidFinishLaunching:(UIApplication*)application{ UIWindow *window=[[UIWindow alloc]initWithFrame:[[UIScreen mainScreen] bounds]]; SampleViewController *viewctrl=[[SampleViewController alloc]init]; [window addSubview:viewctrl.view]; [window makeKeyAndVisible];}上面的代码中做了如下几件事情:1、 实例化了一个UIWindow对象2、 实例化了SampleViewController对象3、 把SampleViewController对象UIView对象添加到UIWindow对象中4、 显示UIWindow对象看这段代码我们并没有直接实例化一个UIView对象然后添加给UIWindow对象而且通过SampleViewController对象,它是UIViewController子类负责视图的显示控制,非常的好用,在这里我们只是实现了loadView就够了,我们只要简单的显示一下“Hello World!”文字, 具体代码如下:@interface SampleViewController : UIViewController {}@end@implementation SampleViewController-(void)loadView{ UIView *contentView = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]]; contentView.backgroundColor = [UIColor blackColor]; self.view = contentView; [contentView release]; CGRect labelFrame = CGRectMake(40.0f, 200.0f, 240.0f, 60.0f); UILabel *frontLabel = [[UILabel alloc] initWithFrame:labelFrame]; frontLabel.text = @"Hello World!"; frontLabel.font = [UIFont fontWithName:@"Georgia" size:24.0f]; frontLabel.textColor = [UIColor colorWithRed:0.82f green:1.0f blue:0.286f alpha:1.0f]; frontLabel.backgroundColor = [UIColor colorWithRed:0.0f green:0.0f blue:0.0f alpha:0.0f]; [contentView addSubview:frontLabel]; [frontLabel release]; }@end到这里我们已经完成的HelloWorld程序的编写,点击运行就能看到如下的效果图: iphone,程序,的,生命,周期,分析,做,iphone,
哈雷彗星围绕太阳运行的周期是多少?
对此,许多人想知道:哈雷彗星围绕太阳运行的周期?哈雷彗星下一次何时出现?接下来就由小编为大家解惑。
一、哈雷彗星是什么星彗星,也就是人们常说的“扫帚星”,它是太阳系中质量较小的天体,与地球一样围绕太阳转动。
据了解,人们至今已发行1600多颗彗星,其中最大最容易观测的就属哈雷彗星了。
之所以有此名,是因为这颗彗星是一位叫哈雷的英国天文学家第一次算出的。
二、哈雷彗星围绕太阳运行的周期,76年根据计算,也根据早期的一些记载,哈雷彗星围绕太阳运行的周期为76年,这也是人一生中唯一以裸眼可能看见两次的彗星。
其实,人类能肉眼看到的彗星除了哈雷彗星外还有很多,而且更加壮观,不过那些彗星都是数千年才会出现一次,人很难看到。
三、哈雷彗星最早记载的书,春秋据小编查询得知,从鲁文公十四年(公元前613年)起到清代宣统二年(公元1910年)止,哈雷彗星出现过31次,每次出现,我国都有详细记录。
至于哈雷彗星最早记载的书,应该就是《春秋》一书了,西方最早关于哈雷彗星的记录是在公元66年,这比我国晚了几百年!《春秋左传·鲁文公十四年》:“秋七月,有星孛入于北斗。
”这是世界第一次关于哈雷彗星的确切记录。
其实中国人对哈雷彗星的记载,最早可上溯到殷商时代。
《淮南子·兵略训》:“武王伐纣,东面而迎岁,至汜而水,至共头而坠,彗星出,而授殷人其柄,时有彗星,柄在东方,可以扫西人也!”这是公元前1057年的哈雷彗星回归的记录。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。