随笔分类 -  App开发

App开发中用到的资料。
摘要:1、Category 1)分类/类别(category): 允许以模块的方式向现有类定义添加新的方法(默认不能添加实例变量)。用以扩展自己或他人以前实现的类,使它适合自己的需要。 分类的名称括在类名之后的一对圆括号 "( )" 中。 @interface CHStudent (Print) @end 阅读全文
posted @ 2018-08-20 21:25 CH520 阅读(187) 评论(0) 推荐(0)
摘要:前言 copy:需要先实现 NSCopying 协议,创建的是不可变副本。 mutableCopy:需要实现 NSMutableCopying 协议,创建的是可变副本。 浅拷贝:指针拷贝,源对象和副本指向的是同一个对象。对象的引用计数器 +1,其实相当于做了一次 retain 操作。 深拷贝:内容拷 阅读全文
posted @ 2018-08-20 21:20 CH520 阅读(248) 评论(0) 推荐(0)
摘要:# 前言 - iOS4.0开始,Block横空出世,自他出生开始,就深受Apple和开发者的喜爱.他其实就是c预言的补充,书面点说就是带有自动变量的匿名函数. - 其实很多初级开发者也很喜欢使用Block,第一呢感觉他很简洁,代码的可读性也高,第二确实无形中提升了代码的逼格, - Block 是一段 阅读全文
posted @ 2018-08-20 21:14 CH520 阅读(179) 评论(0) 推荐(0)
摘要:前言 对于一个单例类,无论初始化单例对象多少次,在程序的整个生命周期内,只会创建一个类的实例对象,而且只要程序不被杀死,该实例对象就不会被释放,并且该对象是全局的,能够被整个系统访问到。 在应用这个模式时,单例对象的类必须保证只有一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们 阅读全文
posted @ 2018-08-20 21:03 CH520 阅读(242) 评论(0) 推荐(0)
摘要:1、结构体的定义与调用 // 定义结构体类型 // 结构体类型名为 MyDate1 struct MyDate1 { int year; int month; int day; }; // 定义结构体类型变量 // 结构体类型变量为 d1,并赋值 struct MyDate1 d1 = {2016, 阅读全文
posted @ 2018-08-20 20:56 CH520 阅读(202) 评论(0) 推荐(0)
摘要:<center> <h1> 网页相册 </h1> </center> <marquee scrollamount="100"> <img src= "图片路径"> <img src= "2.bmp"> <img src= "3.jpg"> <img src= "4.png"> <img src= " 阅读全文
posted @ 2018-08-20 19:59 CH520 阅读(1398) 评论(0) 推荐(0)
摘要:1、注释规范 良好的编码规范是程序员必备的素质,编码中的代码注释尤为重要,健全的代码注释可以提高代码可读性和维护性, 不仅为了标识此块代码的含义,很多时候包含了对业务逻辑的解释,项目中难免有逻辑复杂之处,不加注释的代码, 数日后自己看都会觉得陌生,更不要说其他人看了,今天分享一下Objective- 阅读全文
posted @ 2018-08-02 22:09 CH520 阅读(8090) 评论(0) 推荐(0)
摘要:- 在OC中,类的属性和成员变量是不同的概念。 - ## 成员变量 - 成员变量是类的实例变量,它们用于存储对象的状态信息。 - 成员变量通常是私有的,只能通过类的方法来访问和修改。成员变量的定义通常在类的声明中。 - ## 属性 - 属性是对成员变量的封装,通过属性可以定义成员变量的访问方式。属性 阅读全文
posted @ 2018-07-31 21:26 CH520 阅读(262) 评论(0) 推荐(0)
摘要:1、简介: Base64 是一种基于64个可打印字符来表示二进制数据的表示方法,可打印字符包括字母 A-Z、a-z、0-9,共 62 个字符,另外两个符号在不同的系统不同 +,/。 Base 64 编码后的结果能够反算,不够安全。 Base 64 是所有现代加密算法的基础算法。 由于现代密码学是基于 阅读全文
posted @ 2018-07-27 00:58 CH520 阅读(193) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2018-07-23 22:25 CH520 阅读(15) 评论(0) 推荐(0)
摘要:1、创建自定义控件 import UIKit class CustomView: UIView { var lab:UILabel! var btn:UIButton! // 将需要添加的子控件在这里进行初始化 override init(frame: CGRect) { super.init(fr 阅读全文
posted @ 2018-07-07 00:19 CH520 阅读(3046) 评论(0) 推荐(0)
摘要:QQ交流群 "Flutter 程序开发群" :766307130 教程 官方实战 "使用Flutter 构建精美的页面" 云在千峰 博主一直是从事 Android 开发的,所以主要从 Android 技术角度来分析 Flutter 的开发文档。 "Flutter 框架介绍" "Flutter 环境设 阅读全文
posted @ 2018-06-26 23:25 CH520 阅读(2286) 评论(0) 推荐(1)
摘要:1、retain, copy, assign区别 假设你用malloc分配了一块内存,并且把它的地址赋值给了指针a,后来你希望指针b也共享这块内存,于是你又把a赋值给(assign)了b。此时a 和b指向同一块内存,请问当a不再需要这块内存,能否直接释放它?答案是否定的,因为a并不知道b是否还在使用 阅读全文
posted @ 2018-06-16 22:51 CH520 阅读(402) 评论(0) 推荐(0)
摘要:1、创建文件 IDETemplateMacros.plist 2、向文件里添加内容FILEHEADER 具体内容 // 文 件 名:___FILENAME___ // // 版权所有:___COPYRIGHT___ // 创 建 者:___FULLUSERNAME___ // 创建日期:___DAT 阅读全文
posted @ 2018-06-12 00:53 CH520 阅读(410) 评论(0) 推荐(0)
摘要:1、为了全文通用,选择在PCH文件中写: #define CHLog(...) printf("[文件:%s] 第%d行: %s\n",/* 文件名 */[[[NSString stringWithUTF8String:__FILE__] substringWithRange:NSMakeRange 阅读全文
posted @ 2018-06-11 12:07 CH520 阅读(271) 评论(0) 推荐(0)