demobutton

RAC <五> 循环引用分析

廉价感情. 提交于 2020-08-10 06:44:04
RAC 可以接管iOS开发中所有的事件,之前文章也说过。虽然学习成本比较大,但是不用RAC的话,很多事件的写法都不太一样,东写一块,西写一块。 RAC 如何取代 KVO? @property ( nonatomic , strong ) Person * person ; - ( void ) viewDidLoad { [ super viewDidLoad ]; //RAC 如何取代 KVO self . person = [[ Person alloc ] init ]; //监听 name 属性的变化 两个参数 第一个监听对象是谁,第二个监听的属性 RACObserve ( self . person , name ); //一行代码完成 KVO的监听,而且不需要自己去取消监听,RAC已经帮忙做好了。 } 利用上节的查看运行原理: - (void)viewDidLoad { [super viewDidLoad]; self.person = [[Person alloc] init]; ({ __attribute__((objc_ownership(weak))) id target_ = (self.person); [target_ rac_valuesForKeyPath:@(((void)(__objc_no && ((void)self.person.name

通过Blazor使用C#开发SPA单页面应用程序(4)

删除回忆录丶 提交于 2020-05-09 06:30:01
前面学习了Blazor的特点、环境搭建及基础知识,现在我们尝试的做个实际的组件。 Ant Design 是蚂蚁金服是基于Ant Design设计体系的 UI 组件库,主要用于研发企业级中后台产品。目前官方是基于React和Angular实现的,今年也推出了Vue的实现。其组件涵盖面较广,其组件风格及交互效果还是比较惊艳的,后面准备利用Ant Design的样式文件利用Blazor模仿几个组件的实现。 由于也是新学的Blazor开发,可能实现的方式有些笨拙,希望高手提出宝贵意见,先看看实现的Button 按钮、Grid 栅格、导航栏的效果。 先来看看Button按钮,它支持多种风格,是否只显示图标,loading状态等。实现步骤及主要代码且听我娓娓道来, 1、引用样式文件 首先去 antd.css cdn 下载稳定版的css文件,放到 wwwroot 文件夹下。再 _Host.cshtml 引用该文件。 2、建立 AButtonBase 类 AButtonBase类定义了按钮的属性参数;注册了class名称(例如:class="ant-btn ant-btn-primary")的计算表达式,class内容是根据属性参数的设置情况计算出来的。 属性set 的 ClassMapper.Dirty() 是通知样式名生成方法属性改变了需要重新生成样式名称。