自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

诠释完美

见贤思齐焉,见不贤而内自省也。

  • 博客(89)
  • 资源 (2)
  • 收藏
  • 关注

原创 ArkTS学习笔记_UI界面的状态管理简述

被状态装饰器装饰的变量,状态变量值的改变会引起UI的渲染更新。没有被状态装饰器装饰的变量,通常应用于辅助计算。它的改变永远不会引起UI的刷新。@Component// 状态变量// 常规变量build() {

2024-07-16 10:54:49 371

原创 ArkTS学习笔记_自定义组件的多态样式

ArkTS学习笔记_自定义组件的多态样式。

2024-07-14 23:10:39 242

原创 ArkTS学习笔记_封装复用之@Extend装饰器

/ @Extend(Text)可以支持Text的私有属性fontColor// superFancyText可以调用预定义的fancy.fancy()

2024-07-14 22:37:52 716

原创 ArkTS学习笔记_封装复用之@Styles装饰器

【代码】ArkTS学习笔记_封装复用之@Styles装饰器。

2024-07-14 21:15:27 452

原创 ArkTS学习笔记_封装复用之@builderParam装饰器

【代码】ArkTS学习笔记_封装复用之@builderParam装饰器。

2024-07-14 20:45:02 343

原创 ArkTS学习笔记_封装复用之@builder装饰器

/ 语法格式// 使用方法全局的自定义构建函数是在自定义组件外面定义的。全局的自定义构建函数可以被整个应用获取,不允许使用this和bind方法。如果不涉及组件状态变化,建议使用全局的自定义构建方法。

2024-07-13 17:04:14 400

原创 ArkTS学习笔记_页面和自定义组件生命周期

自定义组件,即@Component装饰的UI单元,可以组合多个系统组件实现UI的复用,可以调用组件的生命周期。自定义组件的创建:自定义组件的实例由ArkUI框架创建。初始化自定义组件的成员变量:通过本地默认值或者构造方法传递参数来初始化自定义组件的成员变量,初始化顺序为成员变量的定义顺序。如果开发者定义了aboutToAppear,则执行aboutToAppear方法。在首次渲染的时候,执行build方法渲染系统组件,如果子组件为自定义组件,则创建自定义组件的实例。

2024-07-13 10:37:28 657

原创 ArkTS学习笔记_自定义组件

struct + 自定义组件名 + {...}@Entry@Component// 组件的状态// 组件的UI构造方法build() {Row() {Column() {自定义组件不能有继承关系。对于struct的实例化,可以省略new。struct被@Component装饰后具备组件化的能力,需要实现build()方法描述UI。@Entry可以接受一个可选的LocalStorage的参数。自定义组件通过“.”链式调用的形式设置通用样式。

2024-07-12 20:49:28 554

原创 TypeScript学习笔记

用于初始化变量为一个未定义的值。当不知道要向函数传入多少个参数,这时候可以使用剩余参数来定义。函数的参数不能同时存在可选参数和剩余参数。// 语句// param 为参数名,使用 ... 为前缀,表示为剩余参数。// datatype 为参数类型。// 类作用域。

2024-07-12 18:39:26 1221

转载 iOS网络底层实现

在iOS上,有一个库叫做Core Foundation networking或CFNetwork,它是对原始Socket的轻量级封装,不过它很快对于大多数常见场景来说变得非常笨重了。最后,添加了另一层(NSStream)来封装CFNetwork,并且作为最基础的Objective-C网络API。大家更熟悉的类(比如NSURLConnection与UIWebView)都是非常易于使用的,而且能够通过很

2017-06-07 22:11:51 1131

原创 非ARC开发的内存管理

一. 内存管理原则retain和release配对使用;只要出现retain、alloc、copy中的其中一个,就要用一次release;只要retainCount为0,系统会自动调用dealloc@property中使用的关键字 readwrite:属性会被当成读写的,默认 readonly:属性只可读不可写 assign:不会使引用计数加1,常用于数值 retain

2017-06-07 20:02:34 604

原创 使用Charles 4.1.1 抓取iPhone上的数据接口

说明: 1. 本人电脑是黑苹果,系统是OS X EI Capitan,版本10.11.5 2. Charles版本是4.1.1一. 实现步骤下载和安装Charles下载和安装电脑的Charles证书,并设置为始终信任,默认是不信任从Charles上获取需要在iPhone上安装的 证书网址在iPhone上下载和安装证书,最关键一步是要对证书进行 信任 设置在Charles上进行

2017-05-28 05:14:19 4472

原创 使用Xcode的pod插件加载第三方框架不成功

前提:已经成功安装pods我的MAC系统:ruby的版本:ruby的软件源:pod的版本:使用终端查看第三方框架信息一直卡住,但是可以用终端创建项目的pod,网上的各种办法用遍,都不成功,不知道为啥(有知道答案的请分享),下面是卡住的界面:XCode中得pod插件,编写Podfile文件,默认提示格式:如果是用下面的方式写,当Install Pods会出错,如下:source 'https://g

2017-05-26 20:57:42 1531

原创 在xib或storyboard中textView或label的换行

在xib或storyboard中textView或label的换行方法: 在需要换行的位置:按下option键然后敲回车就可以换行,想换几行就敲几个回车。如图:

2017-05-26 12:07:04 2728

原创 GIT-删除远程服务端的文件

1. 在本地仓库A执行以下命令:$ sudo rm test$ git add .$ git commit -m "delete test"$ git push 2. 检查服务器是否还有test.text文件,检测结果是没有的$ git pull注意:在A仓库pull后确实没有了test.text文件,但是在B仓库pull还有test.text文件解释: git add 只会将新建的

2017-05-26 09:54:57 2890

原创 关于RunLoop部分源码的注释

RunLoop源代码是开发的,是Core Fundation框架的一部分,可以在线查看和或者下载。本篇博文是对RunLoop部分源码进行注释,因本人知识有限,如有注释不妥的地方请指教。#if DEPLOYMENT_TARGET_WINDOWS// kNilPthreadT 为空的线程static pthread_t kNilPthreadT = { nil, nil };#define pth

2016-12-21 23:17:55 2220

原创 RunLoop的学习总结

一. RunLoop相关概念1. 什么是RunLoopRunLoop与线程相关且是基础框架的一部分。一个RunLoop就代表一个事件处理循环,它可以不停的调度工作以及处理输入事件。使用RunLoop的目的是有效的控制线程的执行和休眠,让线程在有工作的时候忙于工作,而在没工作的时候处于休眠状态。如果不使用RunLoop类似的循环机制,线程执行完当前任务队列中的任务就结束了,程序不能持续运行。也可以把R

2016-12-21 23:13:13 2115

原创 有用的框架

库名 解释 Metal 是一种低层次的渲染应用程序编程接口,iOS 8时发布 Scene Kit 3D游戏,iOS 8时发布 Sprite Kit 2D游戏,iOS 7时发布 OpenGL 跨平台三维图形库 OpenCL 异构平台编写程序的框架,可通过GPU并行计算 OpenAL 跨平台音效API,它设计给多通道三维位置音效的特效表现 OpenC

2016-12-15 09:53:39 583

原创 OC对象与CF对象的相互转换 和 ARC下查看OC对象的引用计数

注意:文中的OC对象指Objective-C对象,CF对象指Core Foundation中的对象 转换方法: (__bridge type)expression (__bridge_retained CF type)expression (__bridge_transfer Objective-C type)expression

2016-12-08 19:01:11 1310

原创 Objective-C 类型编码

在开发的时候我们会遇到后跟 ObjCType:(const char *)types 的方法。 如: + (NSValue *)valueWithBytes:(const void *)value objCType:(const char *)type; + (nullable NSMethodSignature *)signatureWithObjCTy

2016-11-28 14:40:15 3908

原创 NSInvocation的基本使用

一. NSInvocation简介在iOS开发中,可以直接调用方法的方式有两种:performSelector:withObject: 和 NSInvocation。 performSelector:withObject:使用简单,但缺点是只能传一个参数,大于2个参数就无法使用;NSInvocation就不一样,功能更加强大,但实现有点复杂。在IOS4.0之后,这两种直接调用对象消息的方法,

2016-11-28 12:20:47 9212 1

原创 iOS多线程总结(3)——NSOperation与NSOperationQueue的使用

本篇是多线程总结的第三篇,关于多线程的概念和NSThread的使用写在第一篇,《iOS多线程总结(1)——多线程相关概念及NSObject/NSThread的使用 》,第二篇《iOS多线程总结(2)——GCD》主要讲解GCD的使用,本编是线程实现总结的最后一篇,主要讲解NSOperation的使用。一. NSOperation在MacOSXv10.6和iOS4之前,NSOperati

2016-11-26 23:22:43 3720

原创 iOS多线程总结(2)——GCD的使用

本篇是多线程总结的第二篇,关于多线程的概念和NSThread的使用写在第一篇,查看请点击 《iOS多线程总结(1)——多线程相关概念及NSObject/NSThread的使用 》,本编主要降解GCD的使用。一. GCD简介1. 什么是GCD全称是Grand Central Dispatch,可译为“牛逼的中枢调度器”,纯C语言,提供了非常多非常强大的函数。2. GCD的优势GCD是苹果公司为多核的

2016-11-23 17:42:47 962

原创 iOS多线程总结(1)——多线程相关概念及NSObject/NSThread的使用

一. 多线程的相关概念1. 什么是进程?在操作系统发展的早期,为了提高资源利用率,使程序在多道程序下能并发执行,并对并发执行的程序加以控制和描述,在操作系统中引入了进程的概念。多道程序技术最早用于多道批处理系统,系统内可以同时存在多道作业,但同一时刻,系统只处理一道作业,作业根据系统的调度算法执行,每一个作业又由若干个程序组成,每个程序都可以完成独立的任务,且一个作业里面的程序是按顺序

2016-11-22 17:26:15 986

原创 精心整理的操作系统相关概念

一. 操作系统的发展(一). 第一代(1945~1955):无操作系统第一台计算机诞生时,还没出现操作系统,是每一步操作都是纯手工的。操作人员将对应于程序和数据的已穿孔的纸带装入机器,然后启动输入机把程序和数据输入到计算机内存,接着通过控制台开关启动程序针对数据运行,计算完毕后打印机输出结果,用户取出结果并卸下纸带,到下一个用户上机。(二). 第二代(1955~1965):单道

2016-11-15 16:04:31 1836

转载 进程、线程、多进程、多线程概念介绍

线程和进程都是现在电脑概念里比较时髦的用语,什么是多线程,什么是多进程?本文详细的给您介绍一下,希望能增进您对当代电脑技术的了解,有不到之处,还往高手予以更正。一. 进程与线程进程(英语:Process,中国大陆译作进程,台湾译作行程)是计算机中已运行程序的实体。进程本身不会运行,是线程的容器。程序本身只是指令的集合,进程才是程序(那些指令)的真正运行。若干进程有可能与同一个程序相关系,且每个进程

2016-11-15 15:42:15 10107

转载 进程、线程、多进程、多线程的优缺点

一. 在Linux下编程多用多进程编程少用多线程编程IBM有个家伙做了个测试,发现切换线程context的时候,windows比linux快一倍多。进出最快的锁(windows2k的 critical section和linux的pthread_mutex),windows比linux的要快五倍左右。当然这并不是说linux不好,而且在经过实际编程之后,综合来看我觉得linux更适合做high

2016-11-15 15:24:27 7192

转载 作业、进程、线程、多线程、多核

一. 基本概念线程,进程是什么?要理解两者概念,须要先了解一下操作系统的一些相关概念。操作系统中的任务调度大部分操作系统(如Windows、Linux)的任务调度是采用时间片轮转的抢占式调度方式,也就是说一个任务执行一小段时间后强制暂停去执行下一个任务,每个任务轮流执行。任务执行的一小段时间叫做时间片,任务正在执行时的状态叫运行状态,任务执行一段时间后强制暂停去执行下一个任务,被暂

2016-11-15 15:05:38 1617

转载 单核处理器、多核处理器、多处理器与多线程编程

一.进程、线程、单核处理器 进程和线程都是操作系统的概念。进程是应用程序的执行实例,每个进程是由私有的虚拟地址空间、代码、数据和其它各种系统资源组成,即进程是操作系统进行资源分配的最小单元。进程在运行过程中创建的资源随着进程的终止而被销毁,所使用的系统资源在进程终止时被释放或关闭。 线程是进程内部的一个执行单元。系统创建好进程后,实际上就启动执行了该进程的主执行线程,主执行线程以函数地址形

2016-11-15 11:00:31 1102

转载 《操作系统之哲学原理(第2版)》——— 操作系统的发展历史

第一阶段:状态机操作系统(1940年以前)这是计算机处在萌芽时期出现的操作系统。这种操作系统运行在英国人巴贝斯(Babbes)想象中的自动机中。所谓状态机操作系统实际上算不上是我们现在通常所定义的操作系统,而是一种简单的状态转换程序:根据特定输入和现在的特定状态进行状态转换而已。这个时候的计算机也不是现代意义上的计算机,而是所谓的自动机,其功能非常简单,可以用原始来形容。能做的计算也只限于加减

2016-11-15 10:49:46 4178

原创 UIScrollView的自动布局

一. UIScrollView内容的自动偏移当A控制器是UINavigationController的子控制器时,并且A控制器的view的第一个子控件是UIScrollView(包括继承自UIScrollView的子类,如:UITableView,UICollectionView,或者是自定义继承自UIScrollView的类),内容会有自动偏移的现象,有如下两种情况。竖屏的情况下,Sc

2016-11-12 09:49:09 1461

原创 浅谈父子控制器

一. 什么是父子控制器?一个控制器通过addChildViewController:方法添加多个控制器,被添加的控制器称为子控制器,添加多个子控制器的控制器称为父控制器。二. 父子控制器关系有什么作用?(1). 父控制器处理的事件会自动传给子控制器 (2). 子控制器处理的事件会自动传给父控制器 (3). 子控制器可以通过属性parentViewController获取父控制器

2016-11-11 16:55:19 2438

原创 iOS项目小笔记

// 加载类的时候调用,当程序一启动的时候就会调用+ (void)load; // 当类或者其他子类第一次使用的时候调用+ (void)initialize;// 获取当前应用下得所有导航条+ (instancetype)appearance;描述多个控制器选择用storyboard,描述一个控制器用xib。在设置界面时,UIView和控制的选择,需要与客户交互用控制器,不需

2016-11-08 23:10:07 471

原创 使用storyboard开发,从来源控制器Push到目标控制器,隐藏Tabbar,在模拟器中,跳转后的界面的布局控件从上往下移动

问题描述: 使用storyboard开发,从来源控制器Push到目标控制器,在模拟器中运行,跳转后的界面的布局控件从上往下移动。

2016-11-04 11:23:39 2100

原创 核心动画——Core Animation

一. CALayer(一). CALayer简介 在iOS中,你能看得见摸得着的东西基本上都是UIView,比如一个按钮、一个文本标签、一个文本输入框、一个图标等等,这些都是UIView,其实UIView之所以能显示在屏幕上,完全是因为它内部的一个图层,在创建UIView对象时,UIView内部会自动创建一个图层(即CALayer对象),通过UIView的layer属性可以访问这个

2016-10-31 09:59:32 2747

原创 核心绘图——Core Graphics

一. Core Graphics简介Core Graphics是一个基于C的绘图专用的API族,它经常被称为QuartZ或QuartZ 2D,是一个二维绘图引擎,同时支持iOS和Mac系统。它提供了低级别、轻量级、高保真度的2D渲染。该框架可以用于基于路径的绘图、变换、颜色管理、脱屏渲染,模板、渐变。 提示: 引擎:经过包装的函数库,方便开发者使用。QuartZ 2D是苹果帮封装的一套绘

2016-10-30 20:53:54 4856 1

原创 iOS的手势识别器

一. 监听触摸事件的做法如果想监听一个view上面的触摸事件,不使用手势实现的步骤 (1). 自定义一个view (2). 实现view的touches方法,在方法内部实现具体处理代码通过touches方法监听view触摸事件,有很明显的几个缺点 (1). 必须得自定义view (2). 由于是在view内部的touches方法中监听触摸事件,因此默认情况下,无法让其他外界对象监听

2016-10-08 16:57:47 1256

原创 iOS中的触摸事件

一. iOS中的事件iOS中的事件可以分为三大类:触摸事件、加速计事件、远程控制事件。二. 响应者对象在iOS中不是任何对象都能处理事件,只有继承了UIResponder的对象才能接收并处理事件,我们称之为“响应者对象”。UIApplication、UIViewController、UIView都继承自UIResponder,因此它们都是响应者对象,都能够接收并处理事件。

2016-10-08 15:08:16 2198

原创 iOS数据持久化——属性列表和归档

iOS数据持久化的方式分为三种 属性列表 (自定义的Property List 、NSUSErDefaults) 归档 (NSKeyedArchiver) 数据库 (SQLite、Core Data、第三方类库等) 本文只介绍:属性列表和归档一. 属性文件(Plist)Plist一般用于存储Dictionary、Array、Boolean、Data、Date

2016-09-07 16:45:50 858

原创 iOS应用沙盒

一. 应用沙盒沙盒也叫沙箱,英文sandbox。iOS应用都有自己的应用沙盒(应用沙盒就是文件系统目录),它是应用程序的存储空间,所有的非代码文件都保存在这个地方,应用只能读写自己文件系统目录里的文件,不能直接访问其他应用的文件系统目录。应用程序向外请求或接收数据都要通过权限检测,假如不符合条件的话,不会被放行。沙盒机制导致了应用程序之间的通讯障碍,但iOS8之后新开放了一种对几个固定系统区域

2016-09-05 20:51:28 1084

删除文件:提示找不到该项目

win7系统上文件删除不了,删除的时候弹出提示“找不到该项目”,该资源就可以有效的出来此问题,快速的删除此文件。

2016-04-27

判断自己的BIOS为SLIC 2.0还是2.1

判断自己的BIOS为SLIC 2.0还是2.1 尽管目前Windows 7 OEM的软件模拟破解已经出现,但对于某些用户而言,还是想要通过正常的OEM渠道来激活,此时,就必须满足如下三个条件: 尽管目前Windows 7 OEM的软件模拟破解已经出现,但对于某些用户而言,还是想要通过正常的OEM渠道来激活,此时,就必须满足如下三个条件: * BIOS中有完整SLIC 2.1表 * OEM厂商的证书 * OEM-SLP的产品密钥 那么,如何判断自己的SLIC表是否是2.1版本的呢? 这个资源包就可以满足你的要求。

2016-04-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除