- 博客(18)
- 资源 (11)
- 收藏
- 关注
原创 七、SwiftUI属性装饰器@Binding之实现原理
@Binding前面的章节我们已经介绍过,它是一个双向绑定,在SwiftUI中,我们有几种可能数据来源。它可以是EnvironmentObject,ObservedObject或State。所有这些属性包装器都提供了一个绑定的投影值。先看一个例子: struct TestView: View { @State var show = true var body: some View { Text2(show: $show) }
2021-10-18 15:44:02 931
原创 六、SwiftUI属性装饰器@State之实现原理
@State关于@State的含义以及用法,我们在上个章节已经介绍过了,这里来探讨下它的工作原理。@available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)@frozen @propertyWrapper public struct State<Value> : DynamicProperty {首先它遵循了DynamicProperty协议/// An interface for a stored v
2021-10-15 15:56:21 383
原创 五、SwiftUI之属性装饰器:@State、@Binding、@ObservedObject、@Published、@EnvironmentObject
@属性装饰器@State、@Binding、@ObservedObject、@EnvironmentObject这些都是属性装饰器,就像在java中的注解一样。熟悉Swift语法的同学,不知在Swift开发过程中,有没有自己封装过@属性装饰器呢?若没有,不知有没有使用过@discardableResult等这类系统已提供的装饰器呢?有没有想过是如何实现的?其实是通过@propertyWrapper来包装的,具体如何包装这里不再赘述,可自行百度,相对比较简单,这里的重点主要介绍以上4个的含义以及
2021-10-15 09:53:50 666
原创 四、SwiftUI之ViewModifier
### 什么是ViewModifier?按照惯例,我们先看下官方文档说明/// A modifier that you apply to a view or another view modifier, producing a/// different version of the original value.翻译为什么是ViewModifier?按照惯例,我们先看下官方文档说明/// A modifier that you apply to a view or ano
2021-10-15 09:53:07 227
原创 三、SwiftUI之@ViewBuilder
什么是@ViewBuilder?首先,它是一个注解,先看下官方文档的说明:/// You typically use ``ViewBuilder`` as a parameter attribute for child/// view-producing closure parameters, allowing those closures to provide/// multiple child views. For example, the following `contextMenu`
2021-10-15 09:52:10 875
原创 二、SwiftUI之常用Widget
开发中常用Widget本章节主要介绍在SwiftUI开发过程中常用的一些组件 介绍在iOS中的组件对应到SwiftUI是哪个 简单介绍每个组件的使用案例 当组件存在注意点时也会列举出来⭐️连载由于Widget较多,且根据api的版本迭代(比如2.0肯定比1.0的Widget多),本文也会迭代连载。WidgetsView自定义的一个protocol协议,所有的组件都需遵循它,可以理解为在iOS中所有的视图都需要继承UIView。SwiftUI的所有可见定义都在Swi
2021-10-15 09:50:40 331
原创 一、SwiftUI前言
### SwiftUI> SwiftUI在19年发布,那时是1.0版本;现在已经是2.0的版本>> 声明式的语法,不算太新鲜,因为此时flutter已经出生很久了,所以了解flutter的同学相对来说比较好上手。>> 跨平台,这应该是极大的降低了门槛与学习成本。>### SwiftUI优缺点> 缺点:> - 系统版本要求比较高:需要iOS13+> - 申明式语法:严格来说也不能说是缺点,刚接触可能不太习惯,后期你会喜欢它>..
2021-10-15 09:44:02 255
原创 c# 获取宽带名称
#region 获得宽带连接名称 public static List GetPppoeConnectionNames() { int lpNames = 1; int entryNameSize = 0; int lpSize = 0; RasEntryNa
2011-06-16 17:45:00 879
原创 MVC 初学者很好的文章集
http://www.cnblogs.com/chsword/archive/2008/03/10/dotnetmvcframework.html
2011-06-16 15:25:00 286
原创 js 获取客户端ip地址
http://fw.qq.com/ipaddress" charset="gb2312">var ip=IPData[0];document.write(ip);
2011-06-16 15:17:00 424
原创 ASP中查询与插入
查询是否存在m=request.Form("username")Set rs=Server.CreateObject("ADODB.RecordSet")sql = "Select count(useryhm) from Dv_user WHERE useryhm="&m&""set rs=conn.execute(sql)if rs(0) response.write "alert(对不起
2011-06-16 09:04:00 200
原创 c# 右下角弹出和关闭窗口
private void button2_Click(object sender, EventArgs e) { File.WriteAllText(Application.StartupPath + "//1.db","拟好"); MessageBox.Show("ok"); } Threa
2011-06-14 17:19:00 766
原创 c# 关机的时候触发的事件
protected override void WndProc(ref Message m) { switch (m.Msg) { case 0x0011: MessageBox.Show("想要关机,先关闭本程序"); m.Result = (IntPtr)0; break; default: base.WndProc(ref m); break; } }
2011-06-13 10:44:00 719
原创 web的加密与解密
#region ========加密======== /// /// 加密 /// /// /// public static string Encrypt(string Text) { return Encrypt(Text,"jxb"); } /// /// 加密数据 /// ///
2011-06-13 09:05:00 375
原创 c# 右下角弹出一个提示窗口
private int currentX;//横坐标 private int currentY;//纵坐标 private int screenHeight;//屏幕高度 private int screenWidth;//屏幕宽度 int AW_ACTIVE = 0x20000; //激活窗口,在使用了AW_
2011-06-12 10:34:00 1321
原创 分享C# 利用POST上传图片文件方法[完美]
前几天在研究开心网上传头像,上传的时候是一个文件域,跟常用的post数据有一些区别,需要自己构造头部以及文件流。一开始对于文件流没什么思路,就在百度找相关资料,好不容易找到一个C#的,测试了下,还比较满意,但是对他的一些命名和参数不怎么习惯,如果修改下了,做成一个适合自己用的上传方法。张筱祥决定发出来跟大家分享下!/// /// 上传图片文件 /// //
2011-06-10 18:18:00 6271
转载 系统只运行一次exe进程
使用线程互斥变量. 通过定义互斥变量来判断是否已运行实例.C#实现如下: 把program.cs文件里的Main()函数改为如下代码: static void Main() { bool runone; System.Threading.Mutex run = new System.Threading.Mutex(true, "jiaao_test", out runone); if (runon
2011-06-10 15:38:00 390
转载 ASP.NET中如何使用缓存
学习ASP.NET的朋友应该知道,在ASP.NET提供的许多特性中,相比 ASP.NET 的所有其他特性,缓存对应用程序的性能具有最大的潜在影响,利用缓存和其他机制,ASP.NET 开发人员可以接受使用开销很大的控件(例如,DataGrid)构建站点时的额外开销,而不必担心性能会受到太大的影响。为了在应用程序中最大程度地利用缓存,应该考虑在所有程序级别上都实现缓存的方法。 实现
2011-06-10 14:19:00 551
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人