乐事派
码龄12年
关注
提问 私信
  • 博客:193,544
    问答:1,635
    195,179
    总访问量
  • 138
    原创
  • 1,427,184
    排名
  • 21
    粉丝
  • 0
    铁粉

个人简介:iOS开发者

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2012-12-07
博客简介:

乐事派的专栏

查看详细资料
个人成就
  • 获得22次点赞
  • 内容获得4次评论
  • 获得55次收藏
创作历程
  • 68篇
    2022年
  • 18篇
    2021年
  • 1篇
    2016年
  • 37篇
    2015年
  • 16篇
    2014年
成就勋章
TA的专栏
  • iOS
    53篇
  • 调试-报错-故障相关
    9篇
  • Swift
    44篇
  • Objective-C
    1篇
  • 需求
  • 算法
    3篇
  • 设计模式
    1篇
  • 开发技巧
    5篇
  • C++学习笔记
    15篇
  • Cocos2d-x开发
    1篇
  • 项目管理
    2篇
  • 择业就业与发展
    3篇
创作活动更多

超级创作者激励计划

万元现金补贴,高额收益分成,专属VIP内容创作者流量扶持,等你加入!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

applicationDidEnterBackground方法和applicationWillEnterForeground方法不调用

在iOS 10 后 applicationDidEnterBackground和applicationWillEnterForeground已经被SceneDelegate给接管了。所以关于前台后台等的处理操作,不应该写在AppDelegate里。
原创
发布博客 2022.07.06 ·
1387 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

iOS基础 获取状态栏的高度

由于各代iPhone对屏幕尺寸以及前置摄像头、传感器等的迭代,对于其状态栏的高度也发生了一些微小的变化,不再是如以前的20高度了。因此在iOS13后,对于状态栏的高度,有这么一个方法可以获取。参考文章:VeggieOrz的文章:iOS 准确获取 iPhone 状态栏、导航栏、TabBar高度,看这篇就够了...
原创
发布博客 2022.06.12 ·
1731 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

正则表达式 常用的正则规则汇总

数字:^[0-9]*$n位的数字:^\d{n}$至少n位的数字:^\d{n,}$m-n位的数字:^\d{m,n}$零和非零开头的数字:^(0|[1-9][0-9]*)$非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$带1-2位小数的正数或负数:^(-)?\d+(.\d{1,2})?$正数、负数、和小数:^(-|+)?\d+(.\d+)?$有两位小数的正实数:^[0-9]+(.[0-9]{2})?$有1~3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$
原创
发布博客 2022.06.07 ·
928 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

iOS基础 对AFNetworking工具进行封装

封装封装的工具类是继承自:AFHTTPSessionManager创建单例使用static关键字、用let声明一个本类型的常量。(let是线程安全的。如:import UIKitimport AFNetworkingclass GGNetworkTools: AFHTTPSessionManager { static let share = GGNetworkTools()}如此单例就制作好了。解除不安全的网络访问限制封装import AFNetworkingenu
原创
发布博客 2022.05.26 ·
915 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

iOS基础 自定义转场控制器上的动画 UIPresentationController

概述约定:底层控制器:在层级较低的控制器,由它创建新控制器转场控制器:就是底层控制器创建的新控制器转场控制器被创建出来,若要自定义转场的动画,比如从中心逐渐放大知道占据满屏,这样系统没有提供的动画,就需要底层控制器来创建新的转场动画。首先需要底层控制器创建新控制器的时候,给新控制器约定管理转场与动画的代理。如:accountVC.transitioningDelegate = self然后底层控制器需要实现相关的协议,即实现控制器转场协议:UIViewControllerTransitio
原创
发布博客 2022.05.25 ·
654 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

iOS基础 自定义转场控制器UIPresentationController

概述基本上苹果提供的控制器转场都能满足我们的需求,比如反转、淡入淡出、翻页、从下往上显示等等,这都可以通过设置控制器实现。但如果有一些特殊的需求,比如只在一小块区域显示新控制器的内容。当然你也可以通过一些复杂的方式在原本的控制器上自定义一个小View来实现,但那样会增加原控制器的业务负担。实际上,我们可以通过自定义UIPresentationController来控制新controller的展示形式,这只需要在转场相关的代码部分设置一下代理,原控制器再遵守以下该转场控制器的协议就可以了。具体
原创
发布博客 2022.05.24 ·
537 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

iOS基础 Storyboard Reference

然后就会在目录结构中看见刚的两个控制器一起并入到新的Storyboard中了我们回到MainStoryboard。在MainStoryboard中就被映射成功了。
原创
发布博客 2022.05.21 ·
142 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

iOS基础 根据类名字符串创建类

命名空间Swift中是有命名空间概念的,我们在通过字符串创建对应的类的时候:NSClassFromString("HomeController")发现并不能按照想象中的那样创建得出来。这时是因为Swift中有命名空间的概念,be like:NSClassFromString("IDB.HomeController")通过命名空间获取的类之后,怎么使用NSClassFromString(<ClassName: String>)->AnyClass?获得得的是一个AnyC
原创
发布博客 2022.05.21 ·
680 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

iOS基础 UITabBarController

使用创建子控制器继承自UITabBarController,在viewDidLoad阶段,把各个分页上的控制器给创建好,用UITabBarController的方法addChildControoler相关的方法就可以完成子控制器的添加。be like: private func creatChildController(vc:UIViewController,title:String,image:String,selected:String?){ vc.title = title
原创
发布博客 2022.05.21 ·
561 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

iOS基础 Swift纯代码初始化项目(入口引导)

纯代码初始化项目首先在配置也做以下修改:删除Main Interface中的内容,则程序运行时会先去AppDelegate中执行相关的代码。然后在Appdelegate.swift中添加如下代码:class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? func application(_ application: UIApplication, didFinishLaunchingWit
原创
发布博客 2022.05.21 ·
729 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Gitee基础 远程项目部署

Github国外的服务器,国内访问速度慢免费账户需要公开项目,而私人项目需要收费Gitee原 git.oschina.net国内服务器,访问速度快免费,且能创建私人项目使用Gitee新建仓库就…直接在网页创建就好将新项目同步到本地首先在本地创建好固定项目文件路径。在终端中打开进入到本地该路径:回到Gitee自己的项目中,以下功能处复制仓库位置。如果是私有仓库的话,则会要求输入Gitee账户的用户名及密码,如果是公开仓库的话,则直接完成克隆。由于swift.gitigno
原创
发布博客 2022.05.20 ·
843 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

项目初面对

新项目开发公司会提供完整的产品原型图,或者功能设计文档通过这些文档,能够梳理出目标项目的整体框架,从而协助项目框架的搭建。旧项目维护由于很多老项目是缺乏文档的,所以接管旧项目有必要为旧项目梳理一份文档,想要快速上手一个老项目,就需要先梳理一下整个项目的整体框架结构,可以先通过x-mind或者笔记等方式,整理出一套思路。主体框架确认明确好开发目标,能够使项目一直处于推进的状态。明确功能模块,能够使各个模块共同推进,也能较为准确测算工期,方便协同不同的部门参与开会等。在一些项目的重点难点的地方
原创
发布博客 2022.05.20 ·
106 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

iOS基础 代码开发中常见助力

注释方法Swift中有两种较为常见的注释方法:用于快捷总览代码功能的注释://MARK:- 用于方法管理用的注释//TODO:- 用于暂缓编写,留作备忘的代码注释用于方法功能说明的注释,对于编程中调用代码显示代码功能很方便:///方法相关功能、属性、调用时间等的备注说明都可以写。...
原创
发布博客 2022.05.19 ·
282 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

iOS基础 UIStackView

UIStackViewUIStackView用于组织、布局显示的视图,可用来平铺一系列的视图组合。UIStackView管理着其成员属性arrangedSubviews下的所有视图,以arrangedSubviews数组顺序排序。axis 用于定义子视图的排列方向:横、纵spacing 用于控制子视图的间距alignment 对齐方式distribution 布局规则let view1 = UIView()view1.backgroundColor = UIColor.redlet vi
原创
发布博客 2022.05.16 ·
3613 阅读 ·
0 点赞 ·
1 评论 ·
2 收藏

iOS基础 关于UIKit框架

UIKit框架Cocoa框架含有Foundation框架和UIKit框架。Foundation框架和界面无关,主要包含大量常用的API,如:集合、文件系统、URL、进程通信、通知、归档和序列化、表达式、条件判断等。UIkit框架则是基础的UI类库。...
原创
发布博客 2022.05.16 ·
948 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

iOS基础 CALayer

CALayerCALayer = Core Animation Layer ,UIView真正绘图的部分是由CALayer管理的。边框 通过设置CALayer的borderWidth和borderColor可以给视图添加边框效果,值得注意的是,这里设置的Color参数是QuartzCore框架下的CGColorRef类型的,而不是UIKit框架下的UIColor。但我们可以便捷地从UIColor对象获取CGColor属性转换后的CGColorRef值。投影 通过设置CALayer的shadowCol
原创
发布博客 2022.05.16 ·
340 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

iOS基础 UIView

UIVIewUIView之所以能显示是因为其内部的CALayer对象,实际上执行绘图的是CALayer对象,UIView其实更像是CALayer对象的管理控制器。UIView的继承关系NSObject > UIResponder > UIViewUIView常用的成员属性backgroundColor背景色alpha 透明度hidden 隐藏clipsToBounds 切边UIView的几何属性Frame:描述UIView的大小以及在父控件上的位置。Bounds:描
原创
发布博客 2022.05.16 ·
633 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

Swift基础 throws do-catch 错误的捕获和处理

错误的捕获和处理throws关键字用于抛出错误。do-catch用户捕获代码中可能出现的一场并妥善处理异常。//定义一个错误枚举,遵循Error协议enum PersonError:String,Error{ case PersonErrorDoNotEatBreakfast = "不吃早餐" case PersonErrorDoNotTakeExercise = "不锻炼"}class Person{ var age:Int var name:String
原创
发布博客 2022.05.16 ·
699 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Swift基础 guard

guardguard与if语句功能非常相似,设计出它的目的,其实是为了提高程序的可读性(重点)。guard语句必须在函数中使用,并且必须带有else语句。当条件表达式为真的时候,则跳过else语句。当条件表达式为假的时候,则执行else语句。而且else语句内必须带有return、break、continue、throw语句。let age = 17func allowToMakeCola(){ guard age < 18 else { print("可以瑟瑟
原创
发布博客 2022.05.16 ·
1132 阅读 ·
2 点赞 ·
0 评论 ·
1 收藏

Swift基础 多态

多态多态指的是,同一个方法在不同的实例中,会有不同的执行效果。swift中有两种引用变量类型,一种是编译时,另一种是运行时。class Person{ var name : String init(personName: String) { name = personName } func eat() -> () { print("\(name)吃饭") } func getup() ->
原创
发布博客 2022.05.15 ·
380 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多