- 博客(55)
- 收藏
- 关注
原创 Swift中支持iOS9不会造成循环引用的定时器(DispatchSourceTimer)
不会移除不掉timer造成内存泄漏的timer利用GCD实现定时器功能利用GCD实现定时器功能首先为什么我要选择用DispatchSourceTimer来实现定时器功能:个人认为不是Timer和 控制器/视图 循环引用造成的释放不掉,而是timer对它的target是强引用造成的.为什么呢?苹果提供的Timer是要添加到RunLoop上的,当前的RunLoop对定时器有一个强引用,而Tim...
2019-04-25 13:42:10
1939
1
原创 PHP:函数的重载
多态是面向对象的三大特性之一(继承性,封装性,多态性),而方法的重载又是多态的两种形式之一(覆盖,重载). 所谓重载:指一个标识符被用作多个函数名,且能够通过函数的参数个数或者参数类型将这些同名的函数区分开来 其实,个人认为上面的解释,有严重误导读者的嫌疑,因为.在PHP的一个类中,不可能存在名字一样的函数class Lausen{ public function play($num){
2017-08-15 11:18:17
370
原创 Mac系统应用目录[./Application]不可写,目录无法自动生成!
需要修改当前文件的权限 在控制台,cd到当前文件目录下, 输入一下指令:chmod -R 777 ./再次访问的时候就可以了
2017-08-09 11:03:28
1679
原创 MAC下修改XAMPP里MySQL服务器的密码
一:MySQL服务器链接NaviCat时,需要输入MySQL的密码,这个时候可能就会遗忘掉,修改的话可以在终端进行指令修改 1:启动Apache和Mysql服务 2:在终端输入sudo /Applications/XAMPP/xamppfiles/xampp security3:跟着下图一步步走 4:重启Apache和MySql服务器二:mac下利用终端删除安装的MySql服务器 一步一
2017-08-04 15:57:20
1189
原创 Mac下怎么修改修改php.ini
以修改”;extension=php_gd2.dll”为例 1:首先,进入到文件夹下,然后备份一份,在去做编辑,在终端中的指令如下:cd /etc/ sudo cp php.ini.default php.ini sudo vi php.ini 2:在编辑模式下搜索”;extension=php_gd2.dll”,终端指令如下::/;extension=php_gd2.dll搜索结果如下
2017-08-02 11:17:36
4040
原创 用终端删除掉忽略文件的前缀
不知道从MAC OS那个版本开始,直接更改忽略文件的前缀,不被允许了,这个时候,可以从终端删除掉它的前缀 分为(两)三步,可省略中间一步 1:cd到当前的目录 2:展开当前文件夹 3:删除前缀 删除后的结果
2017-07-04 23:27:49
501
原创 使用XIB设置UILabel的换行及设置每一行的字体大小
1:先往XIB上拖一个Label.设置好约束2:设置属性:3:通过Option+return组合键来换行效果如下:4:重点来了,设置字体大小效果如下:5:设置行间距一样的通过箭头来调整字体大小,效果如下:设置字体的颜色,也是如此,
2017-06-12 22:15:20
7057
原创 Swift中的ARC(Automatic Reference Counting)
first of all参考文档ARC(自动引用计数)Swift使用”自动引用计数(Automatic Reference Counting)”来跟踪和管理引用程序中的内存使用情况。在大多数情况下,这意味着在Swift中内存不需要你自己来管理,当有些实例对象不再需要时(引用计数为0),ARC会自动释放实例对象使用的内存ARC如何工作每次创建一个类的新实例时,ARC会分配一大块内存来存储有关该实例的信
2017-06-07 17:26:29
899
原创 Swift3.0中无父类的类用description打印地址
在Swift中,类可以没有父类,如果继承自NSObject的类,可以直接使用description来打印地址,但是如果没有父类,那么这个类就要遵循一个协议:CustomStringConvertible 该协议的源文件介绍如下:/// - SeeAlso: `String.init<T>(T)`, `CustomDebugStringConvertible`public protocol Cus
2017-05-17 10:27:52
652
转载 linker command failed with exit code 1
转载自:http://blog.youkuaiyun.com/hengshujiyi/article/details/21182813这种问题,通常出现在添加第三方库文件或者多人开发时。 这种问题一般是找不到文件而导致的链接错误。 我们可以从如下几个方面着手排查。1.以如下错误为例,如果是多人开发,你同步完成后发现出现如下的错误。Undefined symbols for architecture armv7
2017-05-16 15:35:25
223
转载 静态库,动态库,以及Framework
首先标明参考文档链接: https://segmentfault.com/a/1190000004920754静态库和动态库的却别 首先来看什么是库,库(Library)说白了就是一段编译好了的二进制代码,加上头文件就可以供别人使用。什么时候我们会用到库呢?一种情况就是某些代码需要给别人使用,但是我们不希望别人看到源码,就需要以库的形式进行封装,只暴露出头文件,另外一种情况是,对于某些不会进行大
2017-05-11 23:17:39
267
原创 获取用户允许发送通知的代码
if #available(iOS 10.0, *) { UNUserNotificationCenter.current().requestAuthorization(options: [.alert,.carPlay,.sound,.badge]) { (isSuccess, error) in if isSuccess {
2017-04-22 16:10:54
538
原创 Swift项目中手动添加桥接文件
1:先新建一个New. File ……………………………/≤. 2:选择Header File 3:给Header File命名4:添加关联 5:输入Header File文件的路径 6:以上操作完成之后,command + B编译一下,如果错误,的话,会提示你找不到这个Header File
2017-04-22 15:55:44
3820
原创 Swift中统计代码行数
1:打开终端2:cd到当前文件3:输入:find . -name “*.swift” | xargs wc -l 敲回车
2017-04-09 01:35:37
1340
原创 逃逸闭包(@escaping)和非逃逸闭包
逃逸闭包:当函数执行结束后,才去调用函数内部的闭包,叫做逃逸闭包 非逃逸闭包:当函数执行过程中,执行的函数内部的闭包,叫做非逃逸闭包 @noescapeimport UIKitclass ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() lo
2017-03-20 10:26:34
5414
原创 iOS系统各个版本的占比查询
屏幕和系统的适配,对于每一个开发者来说都是至关重要的,苹果官网查询各个系统的占比: https://developer.apple.com/support/app-store/
2017-03-14 16:29:17
7703
原创 Xib加载控制器的时候,出现的一个坑
今天在公司的项目中,iOS8出现了push到一个Xib的控制器时,出现crash的现象,直接蹦到了main函数,错误信息:libc++abi.dylib: terminate_handler unexpectedly threw an exception.当实例化这个控制器的时候,用的是LXFundBrowseViewController *fundBrowseVC = [[LXFundBrowse
2017-03-13 15:11:54
1614
原创 友盟统计出现Add the Push Notifications feature to your App ID.的错误
最近在集成友盟推送的时候,出现了一个错误, 后来把自动管理证书的勾给勾上,就好了 菜鸟一只,有错误之处还望给予指正
2017-03-12 13:47:22
6582
原创 [Warning] <UIVisualEffectView 0x151d469e0> is being asked to animate its opacity. This will cause th
头天晚上开开心心写的代码,第二天早上一来就出现了这种情况,对于记忆只有半天的我来说,真不知道出了什么情况,就挨个的找呀,找呀,后来发现是头天手欠,在push到的那个控制器的viewDidAppear方法里面误写了一个显示toolBar的方法 代码如下:override func viewDidAppear(_ animated: Bool) { super.viewDidAppea
2017-03-10 10:52:07
784
原创 Swift应用程序,进入后台,和进入前台的高斯模糊效果
偶然的机会碰到了UIVisualEffectView(菜鸟一只,不要嘲笑),发现原来苹果就是靠这个实现高斯模糊的. 在appdelegate里面先声明一个全局的常量, 然后当应用程序辞去激活的时候,添加一个高斯模糊的试图到应用程序上, 当应用程序已经被激活的时候,在移除这个高斯模糊的试图, 代码如下:import UIKit@UIApplicationMainclass AppDelega
2017-03-10 09:48:37
1552
原创 OC中用小括号()包裹着花括号{}的写法
偶然发现了一种OC中很古老的写法,记录一下,就是在圆括号里面包裹着花括号的写法,本人理解为就相当于调用了一个带有返回值的方法,代码如下:- (void)viewDidLoad { [super viewDidLoad]; //{}包装代码 //()表示执行,类似于调用了一个方法, UILabel *label = ({ UILabel *label = [
2017-03-08 22:58:18
3605
原创 swift3.0通过响应链获取当前试图的控制器
func parentViewController() -> UIViewController? { let n = next while n != nil { let controller = next?.next if (controller is UIViewController) { return controller as? U
2017-03-06 10:35:05
1935
转载 Charles抓包
原文:十分钟学会Charles抓包(iOS的http/https请求) 出自:简书http://www.jianshu.com/p/5539599c7a25 作者 Roy_LiangCharles安装 HTTP抓包 HTTPS抓包Charles安装官网下载安装Charles: https://www.charlesproxy.com/download/HTTP抓包(1)查看电脑IP
2017-03-01 20:18:47
253
原创 WKWebView的canGoBack属性设置后,调用goBack方法无效
在viewDidLoad方法里面调用了jct_addWebView- (void)jct_addWebView{ JCTWebView *webView = [[JCTWebView alloc]init]; webView.isUseBackItem = YES; webView.frame = CGRectMake(0, 0, kScreenWidth, kScreenHeig
2017-02-27 09:27:48
6792
原创 WKWebView的canGoBack属性
-(void)goBackAction{ if (self.canGoBack==YES) { [self goBack]; }else{ [[self getViewController].navigationController popViewControllerAnimated:YES]; }}
2017-02-21 19:01:42
5802
原创 固定Label的宽高,让文字完全显示
最近发现了Label 的一个属性@property(nonatomic) BOOL adjustsLetterSpacingToFitWidth这个属性是BOOL类型的,当你设置为yes时,他会根据你给定的label的宽和高,显示全部的文字self.balanceLabel.adjustsFontSizeToFitWidth = YES;
2017-02-13 16:16:43
664
原创 iOS中输入框的取消自动纠错
#import <UIKit/UIKit.h>@interface UITextField (laotao)@end#import "UITextField+laotao.h"@implementation UITextField (laotao)- (instancetype)init{ if (self = [super init]) { ///输入框是否自动纠错的枚举//
2017-02-09 17:32:59
2575
原创 打印字典时,不调用- (NSString *)descriptionWithLocale:方法的解决
很多开发者,为了调试,都会写一个字典和数组的分类,用来打印数据.我也一样,但是升级了Xcode8之后,打印字典时,不再调用分类里- (NSString *)descriptionWithLocale:这个方法了,换了一个方法之后,又可以打印了,方法如下:- (NSString *)descriptionWithLocale:(id)locale indent:(NSUInteger)level代码如
2017-02-08 10:15:30
1602
原创 OC修改webView里面的html的文字大小
在项目中,///修改HTMLString的字体大小 NSString *BookStr = [NSString stringWithFormat:@"<html> \n" //html跟标签 "<head> \n" //html头部标签
2017-01-06 15:54:18
1774
原创 Property follows Cocoa naming convention for returning 'owned' objects
在项目中,用到了新手机号输入框.命名的时候出现了错误 如图:
2017-01-04 17:52:31
249
原创 输入框输入汉字的个数最多为10个
1:先给输入框添加输入事件///输入框的输入事件 [self.realNameTextField addTarget:self action:@selector(realNameTextFieldEditing) forControlEvents:UIControlEventEditingChanged];2:在输入事件里面判断输入汉字的个数- (void)realNameTextField
2016-12-26 10:24:25
2008
原创 UIToolbar上面用到UIBarButtonItem的customView的坑
最近在做一个输入框的辅助试图的时候,用到了UIToolBar,当在UIToolBar上面自定义UIBarButtonItem.的时候,遇到了自定义的UIBarButtonItem不能点击的情况, 其实这个时候只需要改一下UIButton的类型就可以了 代码如下:UIButton *cancelButton = [UIButton buttonWithType:UIButtonTypeCustom
2016-12-19 09:47:06
1738
原创 记一次控制器NavigationItem的title改变的问题
最近在使用FDFullscreenPopGesture框架,使用的过程中,感觉非常良好,非常爽,附上链接: https://github.com/forkingdog/FDFullscreenPopGestureNavigationBar从 无->有的过程中,我只在第一个”无”里面写上了self.fd_prefersNavigationBarHidden = YES;本以为这样就完事了,刚开
2016-12-14 10:13:31
635
原创 记一次XIB使用UIScrollView的坑
这是一次由于使用了IQKeyBoardManager引起的NavigationBar向上移动而使用UIScrollView并且引起了contentSize设置不上的问题.1:关于UIScrollView自身的约束(长,宽,高等等),可以向其他的view一样设置,但是其子试图的约束也同样可以像其他view一样设置,注意了:在viewDidAppear:(BOOL)animated方法中,UIScrol
2016-12-06 11:22:22
1221
原创 Objective-C runtime杂谈
老规矩:首先甩出官方文档: https://developer.apple.com/library/prerelease/content/documentation/Cocoa/Conceptual/ObjCRuntimeGuide/Introduction/Introduction.html#//apple_ref/doc/uid/TP40008048-CH1-SW1 1:runtime简介
2016-11-09 10:53:27
303
原创 runtime动态添加方法引出的消息转发
首先甩出官方文档链接: https://developer.apple.com/reference/objectivec/1418901-class_addmethod?language=objc运行时开放的接口BOOL class_addMethod(Class cls, SEL name, IMP imp, const cha
2016-11-01 09:57:45
298
原创 runtime方法的替换
首先甩出苹果官方文档的链接https://developer.apple.com/reference/objectivec/1418769-method_exchangeimplementations?language=objc苹果为运行时交换方法提供了两种方法,如下 先创建一个类(eg:TestClass) 在.h文件里面声明两个方法#import <Foundation/Foundation
2016-10-31 10:52:20
330
原创 利用MJExtension字典转模型时,修改字典里面的"id"key对应为模型里面的其他的属性
在模型类里面引用MJExtension.h`import”JCTMessageCenterModel.h”import “MJExtension.h”@implementation JCTMessageCenterModel(NSDictionary *)replacedKeyFromPropertyName{return @{@”message_id”:@”id”};}@end`message
2016-10-26 14:45:46
4187
原创 Xcode8中,图片视图切圆角的bug
在xib中创建的图片视图切圆角,在Xcode8之后,会运行之后看不到`- (void)awakeFromNib{[super awakeFromNib];///Xcode 8 代码切圆角必须加上这行代码!!!!![self layoutIfNeeded];//设置头像的圆角self.userIcon.layer.cornerRadius = self.userIcon.height * 0.5;
2016-10-26 11:06:52
414
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人