C#.NET: 如何由浅复制变为深复制?
作者:vuefine 文献:大话设计模式 | 程杰 平台:.NET 2.0+ 有的场合下,我们需要浅复制便能解决问题,因为我们复制出来的实例,仍然引用原来的初始对象。但是有的时候,这是不够的,因为我们复制出来的实例,还要对引用类型做出局部值的修改调整,并且保证不能影响初始对象! 这便要求深度复制了! 需求是这样的:...
View Article23种设计模式之---备忘录模式
前言 网上搜索备忘录设计模式,基本上均是在一个GoF,基础上衍生下来的。为了避免重复造轮子,这里会结合网上demo,和自己理解进行总结 定义:备忘录(Memento)模式又称标记(Token)模式。GOF给备忘录模式的定义为:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。 角色分类: 1)...
View ArticleMaterail Design 入门(六)—— TabLayout之标题中添加自定义View(2)
上一篇我们介绍了TabLayout的简单实用方法,本节来说说如何在TabLayout的标题上添加自定义View,目前来说几乎每个App中都会有Tab样式,而且多数还都是主页直接就放置了几个Tab按钮,有的是文字的,有的还会有图标,下面我们就来说说如何给Tab按钮加上漂亮的图片。 1、自定义View布局 <?xml version="1.0" encoding="utf-8"?>...
View ArticleRecyclerView 获取item,删除item的坑
场景:点击子布局中的imageview替换其图片,可以对imageview进行点击事件监听,也可以用一种更优雅的方式获取item,且使用简单。 获取item 自定义ViewHolder public class ViewHolder extends RecyclerView.ViewHolder { private Context mContext; private View mItemView;...
View Articleswift字典
一、字典的声明 1、显示声明,定义字典里面数据类型 //字典显示声明的两种方式 var dict1:[String : String] = ["swift":"雨燕","python":"大蟒"] var dict2:Dictionary<String,String> = ["swift":"雨燕","python":"大蟒"] 2、声明空字典 //声明空字典 var...
View Articleswift集合
swift的集合与数组比较相近,最大的区别在于集合无序,并且所含有的元素不能重复 1、集合的定义 //集合定义 var skillsOfA:Set<String> = ["swift","OC"] //集合是无序的,会自动删除重复的元素值 var skillsOfB:Set<String> = ["swift","OC","OC"] //空集合 var...
View ArticleAndroid主题切换(Theme)实现日夜间功能
前言 随着一款APP应用功能的不断完善,用户群体的不断增多,APP的更新也就不仅仅局限于功能需求,如何做好良好的用户体验,让用户传播良好的体验口碑,显得尤为重要,而用户体验一块日夜间模式俨然成为了标配。其实,日夜间功能就是换肤的一种,关于换肤功能的实现,也是众说纷纭,总的来讲分为两类:主题换肤(Theme)和插件换肤(APK换肤)。 插件换肤...
View ArticleAndroid Things 专题4 SDK框架
文| 谷歌开发者技术专家, 物联网方向 (IOT GDE) 王玉成(York Wang) 物联网应用开发与手机和平板的应用开发有一些区别,那么Android Things与Android又有哪些差别呢? 变化 Android Things主要在Android的核心框架中扩展了一些支持物联的API。开发者可以利用这些API直接与自定义的硬件打交道,Android...
View ArticleQML信号和信号处理器程序
简述 信号和槽作为 Qt 的核心机制,在 Qt 编程中有着广泛的应用。同样,QML 也继承了这样的特性 - 信号和信号处理程序 ,只不过叫法上略有不同。 信号:来自 QML 对象的通知。 信号处理程序:由信号触发的表达式(或函数),也被称为 Qt C++ 中的“槽”。...
View ArticleOC中Runtime浅析
最近了解了一下OC的Runtime,真的是OC中很强大的一个机制,看起来比较底层,但其实可以有很多活用的方式。 什么是Runtime 我们虽然是用Objective-C写的代码,其实在运行过程中都会被转化成C代码去执行。比如说OC的方法调用都会转成C函数 id objc_msgSend ( id self, SEL op, … );...
View Article一起Talk Android吧(第十一回:Java中的继承)
各位看官们,大家好,上一回中咱们说的是Java中封装的例子,这一回咱们说的例子是Java中的继承。闲话休提, 言归正转。让我们一起Talk Android吧! 看官们我们今天向大家介绍的是继承,这个东西比较抽象,我们通过伪代码来做详细的介绍。下面是继承的伪代码: class A { permission type valA; permission funcA() { //do something...
View ArticleAndroid通信安全之HTTPS
Https HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 它是一个URI...
View ArticleFlutter进阶—质感设计之模态底部面板
模态底部面板是菜单或对话框的替代方案,可防止用户与其他控件进行互动,可以使用showModalBottomSheet函数创建和显示模态底部面板。 import 'package:flutter/material.dart'; class MyApp extends StatelessWidget { @override Widget build(BuildContext context) {...
View ArticleReact Native基础与入门(二)--初识React Native
React Native组件React Native是用React Native框架来组建Android和IOS App的技术,那么React Native组件就是React组件。React组件让你将UI分割成独立的、可重用的一些碎片或部分,这些部分都是相互独立的。创建组件的三种方式1.ES6创建组件的方式export default class HelloComponent extends...
View ArticleAndroid studio出现:Your project path contains non-ASCII characters.
studio引入项目报这个错误: Error:(1, 0) Your project path contains non-ASCII characters. This will most likely cause the build to fail on Windows. Please move your project to a different directory. See...
View ArticleC#全应用导图
总结了C#及应用的思维导图! 导图下载地址: http://download.csdn.net/my 作者:daigualu 发表于2017/3/8 9:24:18 原文链接 阅读:68 评论:0 查看评论
View Article微信小程序之自定义toast实例 —— 微信小程序实战系列(6)
微信提供了一个toast的api wx.showToast() 相关连接:https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-react.html#wxshowtoastobject 本来是比较好的,方便使用,但是这个toast会显示出图标,而且不能去除。 假设:我们执行完业务的时候,toast一下,当执行成功的时候,效果还可以接受,如下图:...
View ArticleAndroid源代码下载教程
本文使用的源是清华源,只是介绍repo初始化和下载部分,之前的依赖库的下载,参考官网网址: http://source.android.com/source/downloading.html repo初始化 mkdir ~/bin PATH=~/bin:$PATH curl https://storage.googleapis.com/git-repo-downloads/repo >...
View ArticleAndroid studio出现:Cause: error in opening zip file
解决办法:删除掉 ~/.gradle/wrapper/dists/ 下的文件夹,重新运行即可 参考内容: The solution that worked for me I had the luxury of comparing differences with working projects. That is how I discovered the error was due to the...
View ArticleAndroid studio出现:Missing Gradle Project Information
在使用Android studio 生成签名包的时候,遇到这个问题: Missing Gradle Project Information. Please check if the IDE successfully synchronized its state with the Gradle Project Model 解决方案: tools > Android > Sync...
View Article