首页 文章 精选 留言 我的

精选列表

搜索[低代码开发平台],共10000篇文章
优秀的个人博客,低调大师

如何使用区块链技术进行项目开发

区块链是目前一个比较热门的新概念,蕴含了技术与金融两层概念。从技术角度来看,这是一个牺牲一致性效率且保证最终一致性的分布式数据库,当然这是比较片面的。从经济学的角度来看,这种容错能力很强的点对点网络,恰恰满足了共享经济的一个必须要求——低成本的可信环境。 本文以联盟链为例,描述了实践一个联盟链的基本过程。 总体思路 首先要确定这个区块链的类型,是公证型区块链还是价值型? 公证型区块链是指仅限一些关键数据自证、披露、防篡改等功能的区块链,通常是在价值型区块链中附带的功能,也可以单独扩展,用于公示公开等。价值型区块链是指可以进行资产所有权转移的一种记账账本。 如果确定是价值型区块链,我们又需要确定目标区块链的总体定位:到底是一个普适的价值传输区块链,还是特定场景下的区块链?如果是特定场景下的区块链,我们通常推荐超级账本作为技术原型,如果

优秀的个人博客,低调大师

iOS开发之TabBar再次点击实现刷新

需求 之前已经实现了自定义TabBar,如图所示: 自定义TabBar.jpeg 现在需要实现一个类似今日头条TabBar的功能 —— 如果继续点击当前TabBar的选中项,那么该界面需要刷新UITableView。 分析 既然已经自定义了TabBar,那么最简单的就是在自定义中给TabBar中需要的UITabBarButton添加事件 —— 点击就发送通知,并且将当前的索引传出去。对应的界面监听通知,拿到索引比对,如果和当前索引一致,就执行对应的操作。 实现 自定义TabBar的layoutSubviews中绑定事件 - (void)layoutSubviews { [super layoutSubviews]; for (UIButton * tabBarButton in self.subviews) { if ([tabBarButton isKindOfClass:NSClassFromString(@"UITabBarButton")]) { //监听tabbar的点击 //绑定tag 标识 tabBarButton.tag = index; //监听tabbar的点击 [tabBarButton addTarget:self action:@selector(tabBarButtonClick:) forControlEvents:UIControlEventTouchUpInside]; } } } 监听事件,发送通知 - (void)tabBarButtonClick:(UIControl *)tabBarBtn{ //判断当前按钮是否为上一个按钮 //再次点击同一个item时发送通知出去 对应的VC捕获并判断 if (self.previousClickedTag == tabBarBtn.tag) { [[NSNotificationCenter defaultCenter] postNotificationName: @"DoubleClickTabbarItemNotification" object:@(tabBarBtn.tag)]; } self.previousClickedTag = tabBarBtn.tag; } 对应的UIViewController监听通知 - (void)viewDidLoad { [super viewDidLoad]; [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(doubleClickTab:) name:@"DoubleClickTabbarItemNotification" object:nil]; } 监听到通知,比对后执行操作 -(void)doubleClickTab:(NSNotification *)notification{ //这里有个坑 就是直接用NSInteger接收会有问题 数字不对 //因为上个界面传过来的时候封装成了对象,所以用NSNumber接收后再取值 NSNumber *index = notification.object; if ([index intValue] == 1) { //刷新 } } 2018.4.28 补充 本文被转载后,有很多好心的读者进行批评指正:这种方式不够优雅,不够简单。怎么最简单呢?其实只要重写UITabBarController的代理就可以实现,方法如下 //这个是UITabBarController的代理方法 - (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController{ // 判断哪个界面要需要再次点击刷新,这里以第一个VC为例 if ([tabBarController.selectedViewController isEqual:[tabBarController.viewControllers firstObject]]) { // 判断再次选中的是否为当前的控制器 if ([viewController isEqual:tabBarController.selectedViewController]) { // 执行操作 NSLog(@"刷新界面"); return NO; } } return YES; }

优秀的个人博客,低调大师

GoPro宣布裁员15%,专注于硬件开发

为重组公司架构,GoPro宣布裁员15%,并且关闭旗下的娱乐部门,专注于相机和无人机。 提到VR相机的话,大家最熟悉的就是运动相机制造商GoPro旗下的GoPro相机。最近,这家公司的日子也不好过,据报道他们将进行业务重组,裁减200个左右的就业岗位,占其全球员工总数的15%。 裁员的目的是让公司的支持减少从而实现盈利。此外,GoPro总裁托尼·贝茨(Tony Bates)将在今年年底离职。 GoPro预计,重组支出介于大约2400万美元至3300万美元之间,其中包括裁员产生的1300万美元至1800万美元现金支出,1100万美元至1500万美元的非现金支出。非现金支出主要来自股权激励支出以及与办公室合并相关的加速折旧。GoPro将把大部分重组支出计入第四季度业绩中。 尼古拉斯·伍德曼(Nicholas Woodman)称:“第四季度和整个2016财年,我们仍有许多工作要完成。目前,我们正在收窄业务范围,把主要精力集中在核心产品上。” GoPro表示会关闭娱乐分部,重新致力于运动相机和无人机业务。随着手机摄像功能的完善,相机市场的份额一直在急剧缩水,GoPro如果选择专注于VR相机,或许也是一个不错的选择。 原文发布时间: 2016-12-01 14:57 本文作者: 巫盼 本文来自云栖社区合作伙伴镁客网,了解相关信息可以关注镁客网。

优秀的个人博客,低调大师

iOS 开发之字符串转图片

UIFont *font = [UIFont fontWithName:@"Menlo" size:12 * 2]; UIImage *wenbenImage = [self imageWithString:Str font:font width:576 textAlignment:NSTextAlignmentLeft]; - (UIImage *)imageWithString:(NSString *)string font:(UIFont *)font width:(CGFloat)width textAlignment:(NSTextAlignment)textAlignment { NSDictionary *attributeDic = @{NSFontAttributeName:font}; CGSize size = [string boundingRectWithSize:CGSizeMake(width, 10000) options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingTruncatesLastVisibleLine attributes:attributeDic context:nil].size; if ([UIScreen.mainScreen respondsToSelector:@selector(scale)]) { if (UIScreen.mainScreen.scale == 2.0) { UIGraphicsBeginImageContextWithOptions(size, NO, 1.0); } else { UIGraphicsBeginImageContext(size); } } else { UIGraphicsBeginImageContext(size); } CGContextRef context = UIGraphicsGetCurrentContext(); [[UIColor whiteColor] set]; CGRect rect = CGRectMake(0, 0, size.width + 1, size.height + 1); CGContextFillRect(context, rect); NSMutableParagraphStyle *paragraph = [[NSMutableParagraphStyle alloc] init]; paragraph.alignment = textAlignment; NSDictionary *attributes = @ { NSForegroundColorAttributeName:[UIColor blackColor], NSFontAttributeName:font, NSParagraphStyleAttributeName:paragraph }; [string drawInRect:rect withAttributes:attributes]; UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return image; }

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册