- 博客(27)
- 资源 (1)
- 收藏
- 关注
原创 团队管理之定目标
本文为近期学习某大佬的课程以及其他书籍的心得总结。从一个纯粹的技术人转变成一个开始带团队的角色时,最大的挑战应该是如何给团队定目标,并使得整个团队向着同一个目标而努力。首先看下纯粹的技术人与带团队的技术人的差异:纯粹技术人只需要管理好自己,日常工作也只是围绕着自己,方向和维度都比较垂直带团队的技术人除了管理好自己外,还需要管理团队的目标、安排团队成员工作、协调跨团队的协作等如何给团队定目标?自上而下确定目标首先了解部门的目标方向是什么,可与部门领导沟通其次结合部门、自己团队.
2021-02-20 11:05:06
303
2
原创 团队管理之故障复盘
目的:为了最大程度的榨干事故的剩余价值,找到是流程、系统设计或者其他方面的不足,从而优化对应的问题点,使得团队更加健壮。 方向:关注问题如何产生的、发生后如何处理、未来应该如何防范。 误区:复盘方向错误,复盘时追责、甩锅,形式上的长时间且无效的复盘。 形式: 1、客观详细说明事故是如何产生的,造成了什么影响; 2、发现事故之后,团队处理故障的方案是如何选定的,以及后续效果如何; 3、团队讨论应如何优化流程或者设计来防止再次发生此类事...
2021-02-07 08:57:51
444
原创 iOS动画keyPath总结以及常用对象
目录iOS CAAnimation创建的一些keyPath总结如下:常用的动画对象及类图结构目前使用过程中的一些问题记录1、有动画点击闪退问题2、动画隐藏3、动画跳跃总结iOS CAAnimation创建的一些keyPath总结如下:CATransform3D相关: 旋转:transform.rotation、transform.rotation.x、transform.r...
2019-03-30 17:22:27
630
原创 UIImagePNGRepresentation/UIImageJPEGRepresentation得到data存入本地内存问题
UIImagePNGRepresentation/UIImageJPEGRepresentation得到data存入本地时,会出现内存暴增甚至导致内存分配闪退的情况,原因是保存时转成nsdata存了一份图片数据,显示的时候也存储了一份数据,导致内存中存在两份数据。解决办法:通过imageIO中的CGImageDestinationAddImage方式,直接读取UIImage的数据来存储就可...
2019-02-20 14:52:50
1394
原创 关于列表(tableview、collectionview)的一点记录(持续更新)
1、cell复用的时候,之前内容的清除方式重写cell的prepareForReuse方法:当前已经被分配的cell如果被重用了,会调用cell的prepareForReuse通知cell(一定要调用父类方法[super prepareForReuse] ),只需要在prepareForReuse方法中做置空操作2、cell中有需要在延迟刷新的场景处理(如:网络图片)在刷新的时候,单独...
2019-02-20 11:13:47
188
原创 Runloop一点总结
由于最近各种原因,又全面的理解了一下Runloop的相关知识,通过记录的形式来加深一下理解。 Runloop简单理解就是iOS中通过一种死循环方式让程序持续处理用户操作,调度事件处理时间,通过mach_msg()让Runloop闲置时进入trap状态,节省CPU资源。 关于Runloop有基于Core Fundation的纯C的CFRunloop和基于Foundat...
2018-04-13 16:00:02
190
原创 iOS 11上跳转系统设置
经常收到朋友和一些群友问这个问题,其实网上有很多类似文章,大多数都有些问题,下面简单记录一下。 在iOS 10上刚出现不能跳转的时候,就找过很多资料去实现跳转,最后好像是在stackoverflow上看到一个最取巧的方式,以Wi-Fi列表为例,官方给的URL格式如下:app-prefs:root=WIFI,只需要改为:app-Prefs:root=WIFI就可以在iOS 10以上跳转...
2018-03-29 10:09:56
1645
原创 NSNotification、KVO、Delegate的同步和异步问题
近期探究了NSNotification、KVO、Delegate的同步和异步问题,发现之前项目中很多NSNotification的用法会导致性能的下降。下面通过代码截图看下具体的情况: 首先在一个页面触发通知发送,如下: 在页面A和页面B同时监听这个通知消息,代码如下: 当两个页面都完成监听之后,触发消息发送,控制台的输出截图如下(删除了不相关的输出): 非主线程: 主线程阻
2017-03-23 15:23:20
1976
转载 浅谈HTTP中Get与Post的区别
本文转载自hyddd的博客。Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST
2017-03-22 18:11:29
218
转载 KVO,NSNotification,delegate及block区别
KVO就是cocoa框架实现的观察者模式,一般同KVC搭配使用,通过KVO可以监测一个值的变化,比如View的高度变化。是一对多的关系,一个值的变化会通知所有的观察者。NSNotification是通知,也是一对多的使用场景。在某些情况下,KVO和NSNotification是一样的,都是状态变化之后告知对方。NSNotification的特点,就是需要被观察者先主动发出通知,然后观察者注册监
2017-03-21 10:19:47
282
原创 关于Runtime在项目中使用的总结
关于Runtime在项目中使用的总结 关于Runtime其实有很多事情可以做,具体可以参考头文件objc/runtime.h,本文主要介绍在项目使用过程中,通过Runtime解决了的几个问题的用法。- 解决接口属性隐藏问题 - 解决检查页面创建释放问题 (检查项目中的页面推出时dealloc是否调用)问题
2017-03-06 20:03:04
1746
转载 FFmpeg在Mac上完美编译
Mac上编译FFmpeg的简明教程:转载如下:最近刚接触ffmpeg,找了很多相关的编译资料,都没有编译成功,前几天在 github上找到一个脚本(https://github.com/kewlbear/FFmpeg-iOS-build-script),就可完美编译准备条件先下载文件:https://github.com/libav/gas-preprocess
2017-03-03 15:39:59
1820
原创 ld: symbol(s) not found for architecture XXX
ld: symbol(s) not found for architecture XXX
2017-03-03 15:37:19
300
原创 Swift闭包
Swift中闭包表达式是一种利用简洁语法构建内联闭包的方式。 闭包表达式提供了一些语法优化,使得撰写闭包变得简单明了。 Swift中的闭包,就相当于Swift中的一个匿名函数,闭包形参不带标签,没有所谓的外部参数名。闭包的表达式如下:let blcok = { (param list) -> return Type in //blcok
2017-01-23 12:24:27
325
转载 iOS copy mutableCopy详解
一、从面向对象到Objective-C概览copy1、面向对象:In object-oriented programming, object copying is creating a copy of an existing object, a unit of data in object-oriented programming. The resulting object i
2016-11-17 19:32:48
1338
原创 闪退日志解析
在项目中,我们经常碰到App发布后闪退了,或者测试的时候闪退,这个时候一种找问题的方式就是查看系统中的crash日志,但是系统记录的日志可读性很差,下面建议如何用symbolicatecrash工具分析iOS Crash文件:1.建立一个单独的文件夹,例如在桌面创建一个crash文件夹2.将闪退日志文件test.crash文件拷贝到crash文件夹下3.将.app和.app.dSYM复
2016-11-04 17:56:47
1120
原创 Xcode调试总结
1.Nslog 效率低下,只适合log error2.LLDB常用命令(LLDB命令大全) po:打印对象数据。 如:po [[self view] recursiveDescription]打印self.view包涵的子视图 p:打印一些基础数据类型数据 call:执行一段代码(面对又返回的调用,也可以使用po或者p命令) 如call [self.view s
2016-11-04 15:02:52
378
原创 iOS反地理编码的坑
最近项目中对于经纬度的反地理编码发现几个坑:1.通过系统定位didUpdateLocations方法得到的经纬度,不区分国内国外都是地球坐标(世界标准地理坐标(WGS-84)) 如果用户通过点击地图,(CLLocationCoordinate2D)convertPoint:(CGPoint)point toCoordinateFromView:(nullableUIView *)v
2016-10-10 18:11:47
3222
原创 关于MVVM
MVVM就是基于传统的MVC架构,将包含弱业务的Fat Model拆分为Model和负责数据处理的ViewModel两部分Reactive Cocoa只是为了将View与ViewModel绑定起来的工具以及响应式编程,并非MVVM的必要条件,其他很多手段都可以实现绑定,但是没有RAC的信号来的简洁干净。在MVVM中,Controller依旧存在,并非没有Controller,Control
2016-05-24 10:42:44
602
原创 关于类方法和实例方法的定义区分
在类中方法的定义,区分类方法和实例方法:当这个类中的个别函数不需要共用参数或共享状态,仅仅是提供功能时,这些相关函数就可以体现为类方法。当类中的函数需要共用参数或共享状态时,这些函数的体现就是实例方法。
2016-05-23 10:33:59
784
原创 strong,weak,assign,retain,copy区别与联系
1.arc环境下,strong代替retain,weak代替assign2、weak的作用:在ARC环境下,所有指向这个对象的weak指针都将被置为nil。这个T特性很有用,相信很多开发者都被指针指向已释放的对象所造成的EXC_BAD_ACCESS困扰过,使用ARC以后,不论是strong还是weak类型的指针,都不会再指向一个已经销毁的对象,从根本上解决了意外释放导致的crash。3:a
2016-03-21 18:31:45
360
原创 duplicate symbols for architecture x86_64原因及解决办法
1.在工程目录下面存在同名的文件,出现重复引用问题,解决办法是:找到文件,删除或者改名2.在#import的时候,import了".m"文件,解决办法:修改“.m”到“.h”
2016-03-21 18:26:20
6232
2
原创 VFL 基本语法
「V:」或「H:」分别表示垂直方向和水平方向。「|」表示父视图。「[loginButton]」表示一个名叫loginButton的视图「H:|–10-[loginButton]–10-|」 表示loginButton在水平方向左边距离父视图10,右边距离父视图也是10。「H:|–15-[buttonOne(80)]–5-[buttonTwo(90)]」 表示buttonOne在水平
2014-11-25 11:34:11
1383
原创 使用编码添加约束的规则
对于两个同层级View之间的约束关系,添加到他们的父View上。对于两个不同层级View之间的约束关系,添加到他们最近的共同的父View上对于有层次关系的两个View之间的约束关系,添加到层次较高的父View上
2014-11-25 10:39:40
500
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人