×

一、简介与环境搭建

CrossApp简介CrossApp摘要CrossApp坐标系浅谈CrossApp屏幕适配方案CrossApp源码结构CrossApp的MVC模式CrossApp项目结构及入口CrossApp内存管理CrossApp类结构图创建CrossApp工程CAVector、CAList、CADeque、CAMap(数据容器)Windows 开发下VS2013环境搭建Windows 开发下Android环境配置Mac OS 开发下Xcode环境搭建Mac OS 下iOS移植android环境配置

二、CrossApp简单控件的使用

DLayout(自适应布局)CALabel(显示文本)CAImage、CAImageView(显示一张图片)CAScale9ImageView(九宫格图片拉伸)CAButton(按钮)CATextView(多行输入框)CATextViewDelegateCASwitch(开关控件)CAProgress(进度条)CAAlertView(提示框)CAScrollView(滚动视图)CAScrollViewDelegateCAListView(列表)CAListViewDataSourceCAListViewDelegateCATableView(表单视图)CATableViewDataSourceCATableViewDelegateCATableViewCellCACollectionView(容器)CACollectionViewDataSourceCASlider(滑动条)CAStepper(步进控件)CAPageView(页面切换)CAPageViewDelegateCAWaterfallView(瀑布流控件)CAWaterfallViewDataSourceCAWaterfallViewDelegateCAWaterfallViewCellCATextField(输入框)CATextFieldDelegateCAAutoCollectionView(自动化布局容器)CAAutoCollectionViewDataSourceCAAutoCollectionViewDelegateCAVideoPlayerControlView(视频播放器控制视图)CAVideoPlayerControlViewDelegateCAWebView(Web视图控件)CAWebViewDelegateCAGifView(显示Gif图片)CARenderImage(图像渲染)CASegmentedControl(分段控制)CAPickerView(视图选择器)CAPickerViewDataSourceCAPickerViewDelegateCAActivityIndicatorView(活动指示器)CrossApp UIEdit(UI编辑器)

三、视图控制

CAViewController(视图控制器)CADrawerController(抽屉控制器)CANavigationController(导航控制器)CANavigationBarDelegateCANavigationBarItemCANavigationBarCATabBarController(标签栏控制器)CATabBarDelegateCATabBarItem

四、调用系统支持

CADevice

五、数据的解析与存储

CAUserDefault简单存储SQlite的使用json解析xml解析

六、网络

网络通信之httphttp请求网络图

七,动画

CAViewAnimation(动画实现)

八、宏定义

宏定义

九、其他控件的使用

CAViewCAViewDelegateCATextField(输入框1.2以前版本)CAObjectCAResponderCAPullToRefreshViewCAControlCAWindowCABarItemCABarButtonItemCASchedulerCAMediaDelegateCAKeypadDelegate

CAObject


类说明

CrossApp引擎的根类,主要是进行内存的管理,定义部分回调函数指针。引擎绝大部分类派生自CAObject,其共同遵从同一套内存管理方式。


CAObject 属性(点击查看方法介绍)

属性 说明
m_uID 对象唯一id
m_uReference 引用计数器
m_uAutoReleaseCount 自动释放引用计数器
UserData 用户数据
UserObject 用户对象
Tag 标签
TextTag 文本标签


CAObject方法(点击查看方法介绍)

方法 说明
init 初始化
release 减少对象的计数器
retain 增加对象的计数器
autorelease 设置自动管理方式
copy 复制对象
isSingleReference 实例化对象是否只有一个使用者
retainCount 返回对象当前计数器的值
isEqual 与指定object实例对象是否相同


CrossApp内存管理简介

CrossApp采用引用计数器的方式进行内存的管理,CAObject的派生类都采用这种方式管理对象。最基本的原则就是谁new/retain,谁就负责release,当我们创建一个object时,会自动添加一个计数器,每当对这个object进行引用时,都会使用retain方法进行计数器的加1操作;同样的当释放对这个object的引用时都会调用release方法进行计数器的减1操作,如果引用计数器m_uReference的值为0,就删除此object。

此外,CrossApp还提供了另一种自动管理内存的方式,当我们不确定object在何时释放时,可以调用autorelease方法进行延迟释放object操作,此时object处于自动管理状态,object被加入到自动释放池中,系统会在每帧结束的时候自动对释放池中的所有object进行一次release操作,如果m_uReference的值为0,则删除当前object。


CAObject 属性说明

m_uID

类型:unsigned int

解释:CAObject的实例对象id,采用累加的方式,初值为零,每创建一个object,m_uID值加1,同时在创建一个object时会将当前对象的m_uReference初始化为1,将当前的m_uAutoReleaseCount初始化为0。


m_uReference

类型:unsigned int    

解释:引用计数器,每创建一个object,计数器的值自动加1。

    

m_uAutoReleaseCount

类型:unsigned int

解释:是否自动管理object,如果m_uAutoReleaseCount的值为0,非自动管理方式,当m_uAutoReleaseCount的值为非0,那么采用自动管理的方式。 

         

UserObject

类型:CAObject*

解释:用户对象。


UserData

类型:void*

解释:用户数据。


Tag

类型:int

解释:标签。


TextTag

类型:std::string

解释:文本标签。


CAObject 方法说明

bool init();

返回值:

参数:

解释:初始化


void retain(void)

返回值:void

参数:

解释:对引用计数器m_uReference的值加1。


void release(void)

返回值:void

参数:

解释:对引用计数器m_uReference的值减1,如果m_uReference的值为0,则删除此object。


CAObject* autorelease(void)

返回值:CAObject*

参数:

解释:将当前object设置为自动内存管理方式       

        

CAObject* copy(void);

返回值:CAObject*

参数:

解释:复制对象


unsigned int retainCount(void) const

返回值:unsigned int

参数:

解释:返回当前引用计数器m_uReference的值


bool isSingleReference(void) const

返回值:bool

参数:

解释:通过与引用计数器的值做比较,返回object是否只有一个使用者。


virtual bool isEqual(const CAObject* pObject)

返回值:

参数:

类型
参数名 说明
const CAObject* pObject 对象

解释:虚函数,判断当前对象与指定实例化对象是否相同



分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)