自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 收藏
  • 关注

原创 iOS 底层对象探索(下)

iOS 底层对象探索(下),包含 isa 指针详解

2022-06-09 12:18:33 234

原创 iOS 底层对象探索(上)

iOS 底层对象探索(上)

2022-04-23 21:00:02 1710

原创 iOS 热重载(storyboard/xib 控件可视化开发 )

iOS 热重载(storyboard/xib 控件可视化开发 )热重载的意义IBInspectable 关键字IB_DESIGNABLE / IBDesignable 关键字drawRect 方法代码方式刷新热重载的意义写 UI 布局时,会花费大量时间,而往往改动一个属性就要重新编译运行看效果,编译所花费的时间是巨大的,这些耗时都是无意义的,所以如果 Xcode 可以立马刷新我们的 UI 代码,是很有意义的。而热重载就是一种解决方案IBInspectable 关键字将属性用 IBInspectabl

2021-12-22 22:41:18 1786

原创 iOS 解决手势冲突

一、问题长按手势被识别成单点手势,执行了单点手势的动作,结果就是长按的动作和单击的动作都执行了二、解决方案以 RxSwift 的触摸事件为例,将长按事件的优先级调到最高,就会先识别长按lazy var tappedChatSubject = chatBgView.rx .tapGesture(configuration: { [weak self] (ges, _) in guard let longPressGes = self?.chatBgView.gestureRec

2021-04-23 18:10:34 1002

原创 Swift SnapKit

一、基本用法snp是手动布局神器,在做约束的时候经常用到,首先导入 pod 依赖pod 'SnapKit', '~> 5.0.0'

2021-03-31 19:42:03 1125

原创 M1 MacBook pod install 报错芯片不兼容问题

一、问题分析M1 的 MacBook 在安装CocoaPods 时没有出问题, 但是在 pod install 时,出现了很多问题,比如LoadError - dlopen(/Library/Ruby/Gems/2.6.0/gems/ffi-1.14.2/lib/ffi_c.bundle, 0x0009): missing compatible arch in /Library/Ruby/Gems/2.6.0/gems/ffi-1.14.2/lib/ffi_c.bundle - /Library/Ruby

2021-03-18 12:13:26 1640

原创 Xcode 报错 Multiple commands produce

一、问题分析这种报错是因为工程里有重复的文件导致的,只要到工程里删掉重复的文件就行二、解决方案进入工程 -> 找到Build Phases -> 搜索找到报错的重复文件 -> 删除有问题的文件

2021-03-18 11:23:24 5120 1

原创 UIButton

一、UIButton 的创建UIButton *btn = [UIButton buttonWithType:(UIButtonType)];能够定义的 button 类型有以下6种:typedef enum { UIButtonTypeCustom = 0, /// 自定义风格 UIButtonTypeRoundedRect, /// 圆角矩形 UIButtonTypeDetailDisclosure, /// 蓝色小箭头按钮,主要做详细说明用 UIButtonTypeI

2021-02-19 17:18:34 327

原创 '-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "JZAdViewController" nib but the view ...

1.问题复现自己创建xib时没有进行相应配置会出现该问题,一般自己创建xib时,有两步操作:1)设置File's Ower的class:2)设置File's Ower的Outlets:没有设置view的Outlets,就会报上面的错2.解决办法拖动view右边的小圆圈和view关联这样就算成功了:注意:创建时勾选创建xib文件不会出现该问题...

2021-01-17 15:26:00 279

原创 iOS13之后手动设置程序入口点

一、AppDelegate和SceneDelegate简略地说:iOS13之前是AppDelegate管理app和UI的生命周期,在iOS13之后AppDelegate管理app的生命周期和SceneDelegate的生命周期,将UI的生命周期交给SceneDelegate管理,这也就是为什么在SceneDelegate.h中有个window。所以,在Xcode11之后创建项目,在设置...

2021-01-07 22:32:00 739 1

原创 maven3安装与配置

一、Maven简介  Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。二、Maven下载1.官网:http://maven.apache.org/download.cgi2.下载压缩包3.解压到D盘(非系统盘)三、Maven配置(系统必须先安装JDK)1.在系统环境变量中新建变量MAVEN_HOME,变量值为...

2020-07-07 22:02:00 544

原创 Java泛型

一、定义 泛型可以用来指代任意对象类型。二、泛型和多态1.引入多态定义一个C1类:里面有个Integer属性,给出它的构造方法、打印其类型和get\set方法。 1 package com.swu.generics; 2 3 public class C1 { 4 private Integer a; 5 6 public C1(I...

2020-05-30 22:11:00 179

原创 关于Eclipse安装报错Unfortunately the Java version needed to run Eclipse Installer couldn't be found on you...

问题:本人因为重装了系统导致重新安装Eclipse,在安装了当前最新版本JDK(JDK13)后,发现Eclipse安装程序出错,错误如下:即JDK没有安装或者版本过低,这明显在扯淡,java安装测试如下:JDK和Eclipse均为64位本人猜测原因:1.版本不一致,即Eclipse或JDK版本过高2.重装系统原因解决方案:1.直接下载zip(包)文件解压,即可运行...

2020-02-02 20:25:00 1359

原创 关于指针问题

关于指针问题 一、概述在用数组保存模型时,发现数组里面的数据都一样,就是在添加数据时出错二、问题代码://查询数据- (void)select{ JZInfoModel *model = [JZInfoModel new]; //关键字 limit 0,2 从哪个位置读 每次读几个 NSString...

2019-05-09 23:55:00 288

原创 sqlite3基本操作

sqlite3基本操作 一、终端操作1.先进入项目的目录里//找到Documents路径NSLog(@"%@", NSHomeDirectory());终端:cd Documents/2.创建数据库sqlite3 数据库名称(后缀可以随便加)sqlite3 db_student.sql4....

2019-05-07 23:38:00 1139 1

原创 声明property属性中的关键字

示例:@property (nonatomic, strong)NSString *name;@property (nonatomic, assign)NSInteger age;1.nonatomic, atomicatomic 原子操作:给资源进行加锁解锁 ,安全 , 效率不高(如12306买火车票系统)nonatomic 非原子操作: 没有加锁解锁机制 ,不安全, 效率高...

2019-04-28 19:17:02 566

原创 用NSKeyedArchiver存储数据(归档)

用NSKeyedArchiver存储数据(归档)一、NSKeyedArchiver和NSUserDefault的区别NSUserDefault只能存储基本数据类型,如NSInteger NSString NSArray 但像UIImage就存不进去将各种类型的对象存储到文件中,而不仅仅是字符串、数组和字典类型,有一种更灵活的方法。就是利用NSKeyedAarchiver类创建带键(ke...

2019-04-27 16:53:00 808

原创 图片虚化效果

图片虚化效果一、创建主要使用UIBlurEffect类UIView+BlurEffect.h#import <UIKit/UIKit.h>NS_ASSUME_NONNULL_BEGIN@interface UIView (BlurEffect)/* 使用这个方法就能实现给这个视图添加虚化效果 */- (void)addBlurEffect:(CGRe...

2019-03-07 20:37:00 615

原创 使用第三方库读取plist文件

使用第三方库读取plist文件一、摘要在数据模型中,读取数据一直是一个比较头疼的问题,以读取plist文件为例,需要一层层往内读,如果自己写代码及其耗时而且容易出错,而使用第三方库,一句代码就可以搞定。二、实例以shop.plist为例1.传统方法//重写get方法- (NSMutableArray *)shopArray{ if (_shopArr...

2019-03-06 20:28:00 955

原创 APP之间的跳转

APP之间的跳转一、摘要点击某个App内链接时,可以跳转到另外一个App,主要使用UIApplication和scheme二、基础知识预备网址的构成:e g:http://www.baidu.com/1.png?pwd=123OC中使用 url.scheme 获取url的协议 http     url.host 获取主机名 www.baidu.c...

2019-03-05 20:04:00 622

原创 Tomcat出现端口被占用Port 8080 required by Tomcat v9.0 Server at localhost is already in use.

Tomcat出现端口被占用Port 8080 required by Tomcat v9.0 Server at localhost is already in use.1.问题:Tomcat出现端口被占用Port 8080 required by Tomcat v9.0 Server at localhost is already in use.2.处理:结束占用该端口的进程。首...

2018-09-17 19:18:00 3273

原创 自动布局

自动布局想要在storyboard中实现对layer层属性进行设置,步骤如下:1.点击Key Path中的+2.添加layer.borderColorFromUIColor, Type设为Color3.添加layer.borderWidth, Type设为Number4.由于borderColor为CGColor类型,因此不能直接使用layer.borderColor,...

2018-08-15 15:35:00 196

原创 UI控件之UISlider

UI控件之UISlider 一、创建UISlider *slider = [[UISlider alloc] initWithFrame:CGRectMake(0, 200, self.view.frame.size.width-100, 50)];二、设置最大最小值slider.minimumValue = 0;sli...

2018-08-11 11:52:00 273

原创 手机解锁之密码解锁

手机解锁之密码解锁 一、设计目标二、开发流程1.UIImage View显示最上方logo图片,UILabel显示提示内容,UITextField输入框2.程序运行起来弹出一个键盘,等待输入,让textField成为第一响应者:becomefirstResponder3.配置label提示的内容...

2018-08-09 10:06:00 664

原创 消息

消息 111 posted @ 2018-08-08 16:16 健泽 阅读(...) 评论(...) 编辑 收藏

2018-08-08 16:16:00 121

原创 UI控件之UITextField

UI控件之UITextField 一、作用1.UILabel用于显示文本信息,而UITextField和UITextView用于接收用户输入2.UITextField只能输入一行,而UITextView能输入多行二、属性和方法1.第一响应者(firstResponder)1️⃣概念:当用户点击一个UITextField、U...

2018-08-07 17:58:00 360

原创 第一个iOS程序-电子书

第一个iOS程序-电子书 111 posted @ 2018-08-06 16:23 健泽 阅读(...) 评论(...) 编辑 收藏

2018-08-06 16:23:00 124

原创 UI控件之UILable

UI控件之UILable #import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad];  //如何计...

2018-08-05 21:06:00 139

原创 动画效果

动画效果 一、设置透明度在ViewController.m中添加如下方法://渐变 alpha 0全透明 1不透明- (void)test1{  //先将初始状态改为全透明  _redView.alpha = 1;  //使用block动画,Duration是动画持续时间  [UIView animateWithDuration:...

2018-08-04 20:58:00 191

原创 创建第一个iOS程序

创建第一个iOS程序 一、准备工作1. 综合使用基础知识:类 对象 属性数组 字典 字符 协议 代理block2.逻辑思维 3.搭建界面:系统提供的UIKit自己定义拥有自己风格的控件  1️⃣UILable UITextField UITextView  2️⃣UIImageView UIView U...

2018-08-03 21:18:00 198

原创 OC复习

OC复习 11 posted @ 2018-08-02 23:52 健泽 阅读(...) 评论(...) 编辑 收藏

2018-08-02 23:52:00 135

原创 Category类别、继承

Category类别、继承 一、概念1.category 类别向某一个类中添加一些方法,不能添加属性在哪里使用这个类别,就在哪里导入这个头文件一个地方声明,多个地方实现 需要向某一个类里面添加一些方法1.这个类是自己创建的,可以直接在源文件里面添加2.这个类是系统提供的,如NSString,就必须使用...

2018-08-01 20:06:00 247

原创 Block

Block 一、概念BLOCK是什么?苹果推荐的类型,效率高,在运行中保存代码。用来封装和保存代码,有点像函数,BLOCK可以在任何时候执行。BOLCK和函数的相似性:(1)可以保存代码(2)有返回值(3)有形参(4)调用方式一样。二、定义block变量的定义:返回值 函数名 (参数,参数)返回值 (^block名)(...

2018-07-31 23:26:00 156 1

原创 protocol(协议)、delegate(代理)

protocol(协议)、delegate(代理) 一、protocol(协议)1.概念:把多个类中的某些共同属性、方法抽象到一个类中,但这些属性、方法在不同的类中有不同的实现,相当于Java中的接口。协议只有声明,没有实现。使用者只需要遵守这个协议 ,就可以得到这个协议里面声明的方法2.创建一个协议如Test.h#imp...

2018-07-30 11:00:00 224

原创 OC基本对象类型

OC基本对象类型 一、NSString1.NSString 不可变字符串 里面的内容无法更改 1 //1.如何创建字符串对象 2 NSString *str = @"Jack" ; 3 NSLog(@"----%@",str); 4 5 //创建...

2018-07-29 23:13:00 412

原创 内存管理

内存管理 一、什么是内存管理程序在运行的过程中通常通过以下行为,来增加程序的的内存占用创建一个OC对象定义一个变量调用一个函数或者方法而一个移动设备的内存是有限的,每个软件所能占用的内存也是有限的当程序所占用的内存较多时,系统就会发出内存警告,这时就得回收一些不需要再使用的内存空间。比如回收一些...

2018-07-28 23:18:00 123

原创 property中的关键字

property中的关键字 示例:1 @property (nonatomic, strong)NSString *name;2 @property (nonatomic, assign)NSInteger age;1.nonatomic, atomicatomic 原子操作:给资源进行加锁解锁 ,安全 , 效率...

2018-07-27 21:11:00 437

原创 变量,构造方法

变量,构造方法 一、property属性在类中定义成员变量时,使用1 @interface Person: NSObject{2 3 NSString *name;4 5 }6 @end时,需自己定义getter和setter方法,比较麻烦,而使用property时,系统自动定义了getter和set...

2018-07-26 23:54:00 386

原创 类和对象

类和对象 一、概念1.为什么需要类:抽象出来一个东西(类)(多种数据类型 多个方法的集合)2.对象是类的具体化,一个类可以实例化多个对象二、类的创建在xcode中一般单独定义一个cocoa class文件来创建一个类,快捷键为 command+N如创建一个Person类:在Person.h文件中声明 1 #im...

2018-07-25 22:57:00 167

原创 Objective-C与C语言的区别

Objective-C与C语言的区别 一、OC:一切皆对象 创建OC类型的一个对象 在前面添加一个‘*’ @ 表示是一个对象 @"name" @[] @{} @1 %@ 输出一个对象 OC里面的字符串、数组是对C语言数据类型的封装 -提供更多的更方便的操作(方法)二、一个简单的OC程序 1 int m...

2018-07-24 20:41:00 1042

空空如也

空空如也

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

TA关注的人

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