- EventKit使用
代江波
EventKit框架提供了一种访问存储在日历数据库(CalendarDatabase)的日历、日历事件、提醒数据的方式。iOS4开始就支持访问日历和日历事件、而iOS6起增加支持访问提醒EventKit的使用方法在info.plist添加Privacy-CalendarsUsageDescription,允许用户访问日历。因为EventKit的核心EventStore很像一个数据库引擎,所以他应该
- Swift - 使用EventKit获取系统日历事件,添加事件
小驴拉磨
通过EventKit可以对iOS日历事件进行读取,添加等操作。但网上找到的都是使用Objective-C来编写的。下面提供一个Swift版的样例,演示如何添加一个事件以及获取所有的事件列表。1、首先配置info.plist从iOS10起,苹果增强对用户的安全和隐私的保护。在申请很多私有权限的时候都需要添加描述。我们这里需要访问日历,那就需要在info.plist添加日历相关的描述字段。字段名:NS
- EventKit 日历事件
MeanMouse
EventKit-日历事件.pngEventKit框架此框架可以访问手机系统日历和提醒事项APP的数据,用此框架可以添加日历事件和提醒事项。info.plist配置在info.plist添加访问日历权限和提醒实现的key:Privacy-CalendarsUsageDescription、Privacy-RemindersUsageDescription,目前只使用到日历事件的操作。EKEvent
- OS开发-事件添加到系统日历提醒事项实现闹铃提醒的功能
BruceGerGer
移动开发iphone开发Objective-ccocoaiosmacosEventKitEKEventStore
iOS开发-事件添加到系统日历提醒事项实现闹铃提醒的功能之前开发中遇到需要将App事件添加到系统日历提醒事项,实现闹铃提醒的功能。一、EventKit与EKEventStoreEventKit不仅能获取已存在的日程和提醒,还能在自己的app中创建、编辑、删除用户的日程和提醒,还能添加提醒、监听变化等。EKEvent是EKCalendarItem的子类,对应日历应用中的事件。在iOS10+中,若要访
- iOS实现日历行程的增删改查
前言我们可以使用系统提供的EventKit框架来访问和操作用户的日历日程和提醒(虽然日历和提醒是两个独立的app,但是是用同一个框架来处理数据)。同样地,日历和提醒的数据的数据,都是存储在同一个叫做CalendarDatabase的数据库中:EventKit不仅能获取已存在的日程和提醒,还能在自己的app中创建、编辑、删除用户的日程和提醒,还能添加提醒、监听变化等。在iOS10+中,若要访问用户日
- 使用 EventKit 向系统日历中添加事件
秋刀生鱼片
使用EventKit向系统日历中添加事件本文主要内容是如何一步一步使用EventKit在iOS设备中添加日历,并在日历中添加事件和提醒事项。Github源码类和属性EKAlarm提醒操作类EKAlarm类用于提供操作系统日历通知的相关接口,通知时间既可以是绝对时间,也可以是相对时间。实例化方法//绝对时间+(EKAlarm*)alarmWithAbsoluteDate:(NSDate*)date;
- iOS EventKit 添加日历及提醒事项(重复提醒)
Dout
EventKit是在iOS和OSX下都可以使用的框架。今天主要展示的是如何给提醒事件添加重复提醒。简单来说EKEvent添加的事件在日历项中展示,EKReminder添加的事件在提醒事项中展示。#import添加前都要获取“提醒事件”权限://生成事件数据库对象EKEventStore*eventDB=[[EKEventStorealloc]init];//申请事件类型权限[eventDBrequ
- Swift3将事件添加到日历提醒事项
T92
iOS10之后如果需要调用系统日历,需要在info.plist文件中添加键Privacy-CalendarsUsageDescription并作出相应描述,使用日历需要引入EventKit框架。封装方法importUIKitimportEventKitclassEventCalender:NSObject{publicstaticletsharedEventCalender=EventCalend
- iOS9(swift2.0)教程系列之EventKit
coderpaul
这里使用一个日历事件demo来讲述EventKit的使用。下面这个demo就是对日历事件进行创建和删除。执行任何事件设备操作的基本工作流程是首先获得事件存储(EventStore)。然后查看是否有权限操作日历。一旦你有权限,你可以创建、或者阅读和删除事件。创建EventStore:相当于上下文,如果你用一个事件创建一个事件对象存储,你不能在其他地方使用它与另一个事件存储在应用程序中.给出权限:在创
- EventKit框架详细解析(一) —— 基本概览
刀客传奇
版本记录版本号时间V1.02018.02.03前言EventKit框架有权限,访问和操作用户的日历和提醒数据。监视用户日历数据库的更改,并帮助用户创建新事件。下面看一下框架的详细情况。OverviewEventKit框架提供了用于访问和操作日历事件和提醒的类。下面看一下框架的详细结构。Topics1.ClassesEKAlarmEKAlarm对象表示EventKit中的警报。使用alarmWith
- iOS开发--事件保存到系统日历
NAVER_say_NAVER
系统库:EventKit-(void)saveEventToCalendar{EKEventStore*eventStore=[[EKEventStorealloc]init];if([eventStorerespondsToSelector:@selector(requestAccessToEntityType:completion:)]){[eventStorerequestAccessToE
- EKEventStore的使用
卡神凯哥
使用EventKit获取日历事件,并往日历里面同步事件首先要在plist里面添加Privacy-CalendarsUsageDescription键值对添加工具类方法【将NSString转NSDate】(NSDate*)dateFromString:(NSString*)dateString{//设置转换格式NSDateFormatter*formatter=[[NSDateFormatteral
- iOS中调用系统日历 - 和实用类(在下面)
JollyJerry
1.首先简单了解EventKit----摘自http://docs.xamarin.com/guides/ios/platform_features/introduction_to_eventkit/概述iOS有两个内建的日历应用:Calendar,Reminders。很显然能看出Calendar是管理日历数据的,而Reminders却不是特别显而易见。Reminders拥有在指定时间安排、完成等
- ios 系统结构
一路李花开
一、iOS是基于Unix的系统,具有较好的稳定性系统结构图.jpeg二、iOS的系统结构分为四层:1.可触摸层:为应用程序开发提供可各种常用的框架并且大部分框架与界面有关,本质上来说它负责用户在iOS设备上的触摸交互操作,包括一下组件:UIKit(界面相关)EventKit(日历事件提醒等)NotificationCenter(通知中心)MapKit(地图显示)AddressBook(联系人)iA
- 事件/提醒-EventKit.h
酱油之神
iOS10,首先需要满足相关权限:日历权限提醒权限类型:typedefNS_ENUM(NSUInteger,EKEntityType){EKEntityTypeEvent//事件EKEntityTypeReminder//提醒};具体代码:{//事件市场EKEventStore*eventStore=[[EKEventStorealloc]init];[eventStorerequestAcces
- iOS增、删、改、查系统提醒事件和日历事件
mian小爬
前言1、引入EventKit框架。(EventKit框架使你能访问用户的Calendar(日历)和Reminder(提醒事项)信息。他们使用相同的库(EKEventStore)处理数据,该库管理所有event数据。该框架除了允许检索用户已经存在的calendar和reminder数据外,还允许创建新的事件和提醒)2、将EKEventStore对象写成单例。(因为需要频繁调用EKEventStore
- EventKit
exialym
这是在IOS和OSX下都可以使用的框架。用来读取,修改和创建日历上的事件。事件被储存在一个事件储存库中,这个库中会包含多个日历,他们都是EKCalender对象。每个事件都是一个EKEvent对象,包括描述文本,起止时间,事件的位置,事件的创建时间和上一次的修改时间。创建一个事件库的实例:lazyvarstore:EKEventStore=EKEventStore()要访问用户的日历当然是需要许可
- FSCalendar使用介绍(二) - 农历、事件
WenchaoD
获取农历、事件、节假日、节气等信息,可以通过NSCalendar和EventKit完成。一.农历提供者NSCalendar创建农历版NSCalendar。@property(strong,nonatomic)NSCalendar*chineseCalendar;self.chineseCalendar=[NSCalendarcalendarWithIdentifier:NSCalendarIden
- 【Swift4.0】 动态添加手机提醒事项
晴天mk1992
1、首先要在info.plist里面授权app可以使用日历Privacy-RemindersUsageDescription2、导入需要的事件库:EventKit.frameworkvareventStore:EKEventStore!@IBActionfunconAddAlarmClick(_sender:Any){self.eventStore=EKEventStore()letformatt
- EventKit小坑记录
称一称
使用EventKit在将事件计入日历时,若不在主线程中执行的话,添加非重复事件能够正常添加,然而如果加上EKRecurrenceRule后可能会报Errorloadingdefaultpropertiesforobjectx-apple-eventkit:///RecurrenceRule/p82fromdaemon:ErrorDomain=EKCADErrorDomainCode=1010"(n
- EventKit日历事件操作
codehjb
@property(nonatomic,strong)EKEventStore*eventStore;//设置属性//添加日程-(void)addmyEventTitle:(NSString*)titleDescription:(NSString*)descriptionTime:(NSString*)time{EKEventStore*eventStore=[[EKEventStorealloc
- iOS-添加日程写入日历-Calendar
iixzp
话不多说直接来一、权限的获取Privacy-CalendarsUsageDescription是否允许此App使用日历?Privacy-RemindersUsageDescription是否允许此App访问提醒事项?更多权限获取:https://www.jianshu.com/p/31ef0f8ba34e二、手动写入日历日程-代码部分//导入EventKit库#import//先来一波权限判断-(
- Swift - 使用EventKit获取系统日历事件,添加事件
焉逢12
首先要在info.plist中申请权限字段名:NSCalendarsUsageDescription屏幕快照2017-03-15下午3.00.00.pngimportUIKit//导入头文件importEventKitclassViewController:UIViewController{overridefuncviewDidLoad(){super.viewDidLoad()//Doanyad
- 【iOS】日历行程的增删改查(完整)
imJackXu
日历日程提醒iOS
前言我们可以使用系统提供的EventKit框架来访问和操作用户的日历日程和提醒(虽然日历和提醒是两个独立的app,但是是用同一个框架来处理数据)。同样地,日历和提醒的数据的数据,都是存储在同一个叫做CalendarDatabase的数据库中:EventKit不仅能获取已存在的日程和提醒,还能在自己的app中创建、编辑、删除用户的日程和提醒,还能添加提醒、监听变化等。在iOS10+中,若要访问用户日
- 使用 EventKit 向系统日历中添加事件
秋刀生鱼片
objective-cioseventkit
使用EventKit向系统日历中添加事件本文主要内容是如何一步一步使用EventKit在iOS设备中添加日历,并在日历中添加事件和提醒事项。源代码Github类和属性EKAlarm提醒操作类EKAlarm类用于提供操作系统日历通知的相关接口,通知时间既可以是绝对时间,也可以是相对时间。实例化方法//绝对时间+(EKAlarm*)alarmWithAbsoluteDate:(NSDate*)date
- iOS EventKit日历事件操作 开发笔记
WeiHing
最近手头上一个日程管理的项目里有一个功能是做事务提醒的,原本是想用本地推送来实现,但是无奈本地推送数量有限制,最多不能超过64条。如果改用远程推送来实现,那是最好的了,但是资源、条件不是很完备(毕竟是学生项目,要申请开发者账号还得增加后台同学工作量等等),最后选择了用系统日历来完成。在此做了一些总结,方便日后查阅。了解EventKit框架事件库框架授权访问用户的Calendar.app和Remin
- iOS开发用Eventkit向日历和提醒事项中加入事件和闹铃
塔斯丁苟
iOSOC
iOS开发用Eventkit向日历和提醒事项中加入事件和闹铃直接上代码说明如何使用,后面有详细的介绍主要使用Eventkit事件库的EKEventStore类该类负责日历和提醒事件的管理,可以简单理解为数据库,可以对事件进行增删改查。因为它就像数据库一样,频繁的开启,关闭会影响效率,所以如果你的程序需要频繁操作日历和提醒,建议仅生成该对象一次,仅用一个对象进行操作。@interfaceViewCo
- oc的日历提醒机制
bianhuanshizhe
iOS
-(IBAction)addEventClick:(UIButton*)sender{//需要导入EventKit.framework为了让提醒事项和日历事件能工作起来,你需要依赖于EventKit。你将也需要一个持久化的存储来保存备忘录项。因此,EventKit为你提供了这个:EKEventStore。一个EKEventStore允许你从用户日历数据库中更新、创建、编辑和删除事件。//提醒事项和
- EventKit
exialym
iososx日历event
这是在IOS和OSX下都可以使用的框架。用来读取,修改和创建日历上的事件。事件被储存在一个事件储存库中,这个库中会包含多个日历,他们都是EKCalender对象。每个事件都是一个EKEvent对象,包括描述文本,起止时间,事件的位置,事件的创建时间和上一次的修改时间。创建一个事件库的实例:lazyvarstore:EKEventStore=EKEventStore()要访问用户的日历当然是需要许可
- EventKit 学习
event
From:http://docs.xamarin.com/guides/ios/platform_features/introduction_to_eventkit/
本教程展示了对于如何通过EventKit访问和使用存储在日历数据库(Calendar Database)中的日历(Calendars)、日历事件(CalendarEvents)和提醒的概述。并且讲述了重要的类(Class)还有
- Java常用排序算法/程序员必须掌握的8大排序算法
cugfy
java
分类:
1)插入排序(直接插入排序、希尔排序)
2)交换排序(冒泡排序、快速排序)
3)选择排序(直接选择排序、堆排序)
4)归并排序
5)分配排序(基数排序)
所需辅助空间最多:归并排序
所需辅助空间最少:堆排序
平均速度最快:快速排序
不稳定:快速排序,希尔排序,堆排序。
先来看看8种排序之间的关系:
1.直接插入排序
(1
- 【Spark102】Spark存储模块BlockManager剖析
bit1129
manager
Spark围绕着BlockManager构建了存储模块,包括RDD,Shuffle,Broadcast的存储都使用了BlockManager。而BlockManager在实现上是一个针对每个应用的Master/Executor结构,即Driver上BlockManager充当了Master角色,而各个Slave上(具体到应用范围,就是Executor)的BlockManager充当了Slave角色
- linux 查看端口被占用情况详解
daizj
linux端口占用netstatlsof
经常在启动一个程序会碰到端口被占用,这里讲一下怎么查看端口是否被占用,及哪个程序占用,怎么Kill掉已占用端口的程序
1、lsof -i:port
port为端口号
[root@slave /data/spark-1.4.0-bin-cdh4]# lsof -i:8080
COMMAND PID USER FD TY
- Hosts文件使用
周凡杨
hostslocahost
一切都要从localhost说起,经常在tomcat容器起动后,访问页面时输入http://localhost:8088/index.jsp,大家都知道localhost代表本机地址,如果本机IP是10.10.134.21,那就相当于http://10.10.134.21:8088/index.jsp,有时候也会看到http: 127.0.0.1:
- java excel工具
g21121
Java excel
直接上代码,一看就懂,利用的是jxl:
import java.io.File;
import java.io.IOException;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import jxl.write.Label;
import
- web报表工具finereport常用函数的用法总结(数组函数)
老A不折腾
finereportweb报表函数总结
ADD2ARRAY
ADDARRAY(array,insertArray, start):在数组第start个位置插入insertArray中的所有元素,再返回该数组。
示例:
ADDARRAY([3,4, 1, 5, 7], [23, 43, 22], 3)返回[3, 4, 23, 43, 22, 1, 5, 7].
ADDARRAY([3,4, 1, 5, 7], "测试&q
- 游戏服务器网络带宽负载计算
墙头上一根草
服务器
家庭所安装的4M,8M宽带。其中M是指,Mbits/S
其中要提前说明的是:
8bits = 1Byte
即8位等于1字节。我们硬盘大小50G。意思是50*1024M字节,约为 50000多字节。但是网宽是以“位”为单位的,所以,8Mbits就是1M字节。是容积体积的单位。
8Mbits/s后面的S是秒。8Mbits/s意思是 每秒8M位,即每秒1M字节。
我是在计算我们网络流量时想到的
- 我的spring学习笔记2-IoC(反向控制 依赖注入)
aijuans
Spring 3 系列
IoC(反向控制 依赖注入)这是Spring提出来了,这也是Spring一大特色。这里我不用多说,我们看Spring教程就可以了解。当然我们不用Spring也可以用IoC,下面我将介绍不用Spring的IoC。
IoC不是框架,她是java的技术,如今大多数轻量级的容器都会用到IoC技术。这里我就用一个例子来说明:
如:程序中有 Mysql.calss 、Oracle.class 、SqlSe
- 高性能mysql 之 选择存储引擎(一)
annan211
mysqlInnoDBMySQL引擎存储引擎
1 没有特殊情况,应尽可能使用InnoDB存储引擎。 原因:InnoDB 和 MYIsAM 是mysql 最常用、使用最普遍的存储引擎。其中InnoDB是最重要、最广泛的存储引擎。她 被设计用来处理大量的短期事务。短期事务大部分情况下是正常提交的,很少有回滚的情况。InnoDB的性能和自动崩溃 恢复特性使得她在非事务型存储的需求中也非常流行,除非有非常
- UDP网络编程
百合不是茶
UDP编程局域网组播
UDP是基于无连接的,不可靠的传输 与TCP/IP相反
UDP实现私聊,发送方式客户端,接受方式服务器
package netUDP_sc;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.Ine
- JQuery对象的val()方法执行结果分析
bijian1013
JavaScriptjsjquery
JavaScript中,如果id对应的标签不存在(同理JAVA中,如果对象不存在),则调用它的方法会报错或抛异常。在实际开发中,发现JQuery在id对应的标签不存在时,调其val()方法不会报错,结果是undefined。
- http请求测试实例(采用json-lib解析)
bijian1013
jsonhttp
由于fastjson只支持JDK1.5版本,因些对于JDK1.4的项目,可以采用json-lib来解析JSON数据。如下是http请求的另外一种写法,仅供参考。
package com;
import java.util.HashMap;
import java.util.Map;
import
- 【RPC框架Hessian四】Hessian与Spring集成
bit1129
hessian
在【RPC框架Hessian二】Hessian 对象序列化和反序列化一文中介绍了基于Hessian的RPC服务的实现步骤,在那里使用Hessian提供的API完成基于Hessian的RPC服务开发和客户端调用,本文使用Spring对Hessian的集成来实现Hessian的RPC调用。
定义模型、接口和服务器端代码
|---Model
&nb
- 【Mahout三】基于Mahout CBayes算法的20newsgroup流程分析
bit1129
Mahout
1.Mahout环境搭建
1.下载Mahout
http://mirror.bit.edu.cn/apache/mahout/0.10.0/mahout-distribution-0.10.0.tar.gz
2.解压Mahout
3. 配置环境变量
vim /etc/profile
export HADOOP_HOME=/home
- nginx负载tomcat遇非80时的转发问题
ronin47
nginx负载后端容器是tomcat(其它容器如WAS,JBOSS暂没发现这个问题)非80端口,遇到跳转异常问题。解决的思路是:$host:port
详细如下:
该问题是最先发现的,由于之前对nginx不是特别的熟悉所以该问题是个入门级别的:
? 1 2 3 4 5
- java-17-在一个字符串中找到第一个只出现一次的字符
bylijinnan
java
public class FirstShowOnlyOnceElement {
/**Q17.在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b
* 1.int[] count:count[i]表示i对应字符出现的次数
* 2.将26个英文字母映射:a-z <--> 0-25
* 3.假设全部字母都是小写
*/
pu
- mongoDB 复制集
开窍的石头
mongodb
mongo的复制集就像mysql的主从数据库,当你往其中的主复制集(primary)写数据的时候,副复制集(secondary)会自动同步主复制集(Primary)的数据,当主复制集挂掉以后其中的一个副复制集会自动成为主复制集。提供服务器的可用性。和防止当机问题
mo
- [宇宙与天文]宇宙时代的经济学
comsci
经济
宇宙尺度的交通工具一般都体型巨大,造价高昂。。。。。
在宇宙中进行航行,近程采用反作用力类型的发动机,需要消耗少量矿石燃料,中远程航行要采用量子或者聚变反应堆发动机,进行超空间跳跃,要消耗大量高纯度水晶体能源
以目前地球上国家的经济发展水平来讲,
- Git忽略文件
Cwind
git
有很多文件不必使用git管理。例如Eclipse或其他IDE生成的项目文件,编译生成的各种目标或临时文件等。使用git status时,会在Untracked files里面看到这些文件列表,在一次需要添加的文件比较多时(使用git add . / git add -u),会把这些所有的未跟踪文件添加进索引。
==== ==== ==== 一些牢骚
- MySQL连接数据库的必须配置
dashuaifu
mysql连接数据库配置
MySQL连接数据库的必须配置
1.driverClass:com.mysql.jdbc.Driver
2.jdbcUrl:jdbc:mysql://localhost:3306/dbname
3.user:username
4.password:password
其中1是驱动名;2是url,这里的‘dbna
- 一生要养成的60个习惯
dcj3sjt126com
习惯
一生要养成的60个习惯
第1篇 让你更受大家欢迎的习惯
1 守时,不准时赴约,让别人等,会失去很多机会。
如何做到:
①该起床时就起床,
②养成任何事情都提前15分钟的习惯。
③带本可以随时阅读的书,如果早了就拿出来读读。
④有条理,生活没条理最容易耽误时间。
⑤提前计划:将重要和不重要的事情岔开。
⑥今天就准备好明天要穿的衣服。
⑦按时睡觉,这会让按时起床更容易。
2 注重
- [介绍]Yii 是什么
dcj3sjt126com
PHPyii2
Yii 是一个高性能,基于组件的 PHP 框架,用于快速开发现代 Web 应用程序。名字 Yii (读作 易)在中文里有“极致简单与不断演变”两重含义,也可看作 Yes It Is! 的缩写。
Yii 最适合做什么?
Yii 是一个通用的 Web 编程框架,即可以用于开发各种用 PHP 构建的 Web 应用。因为基于组件的框架结构和设计精巧的缓存支持,它特别适合开发大型应
- Linux SSH常用总结
eksliang
linux sshSSHD
转载请出自出处:http://eksliang.iteye.com/blog/2186931 一、连接到远程主机
格式:
ssh name@remoteserver
例如:
ssh
[email protected]
二、连接到远程主机指定的端口
格式:
ssh name@remoteserver -p 22
例如:
ssh i
- 快速上传头像到服务端工具类FaceUtil
gundumw100
android
快速迭代用
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOExceptio
- jQuery入门之怎么使用
ini
JavaScripthtmljqueryWebcss
jQuery的强大我何问起(个人主页:hovertree.com)就不用多说了,那么怎么使用jQuery呢?
首先,下载jquery。下载地址:http://hovertree.com/hvtart/bjae/b8627323101a4994.htm,一个是压缩版本,一个是未压缩版本,如果在开发测试阶段,可以使用未压缩版本,实际应用一般使用压缩版本(min)。然后就在页面上引用。
- 带filter的hbase查询优化
kane_xie
查询优化hbaseRandomRowFilter
问题描述
hbase scan数据缓慢,server端出现LeaseException。hbase写入缓慢。
问题原因
直接原因是: hbase client端每次和regionserver交互的时候,都会在服务器端生成一个Lease,Lease的有效期由参数hbase.regionserver.lease.period确定。如果hbase scan需
- java设计模式-单例模式
men4661273
java单例枚举反射IOC
单例模式1,饿汉模式
//饿汉式单例类.在类初始化时,已经自行实例化
public class Singleton1 {
//私有的默认构造函数
private Singleton1() {}
//已经自行实例化
private static final Singleton1 singl
- mongodb 查询某一天所有信息的3种方法,根据日期查询
qiaolevip
每天进步一点点学习永无止境mongodb纵观千象
// mongodb的查询真让人难以琢磨,就查询单天信息,都需要花费一番功夫才行。
// 第一种方式:
coll.aggregate([
{$project:{sendDate: {$substr: ['$sendTime', 0, 10]}, sendTime: 1, content:1}},
{$match:{sendDate: '2015-
- 二维数组转换成JSON
tangqi609567707
java二维数组json
原文出处:http://blog.csdn.net/springsen/article/details/7833596
public class Demo {
public static void main(String[] args) { String[][] blogL
- erlang supervisor
wudixiaotie
erlang
定义supervisor时,如果是监控celuesimple_one_for_one则删除children的时候就用supervisor:terminate_child (SupModuleName, ChildPid),如果shutdown策略选择的是brutal_kill,那么supervisor会调用exit(ChildPid, kill),这样的话如果Child的behavior是gen_