
objective-c
乔布斯狂热追随者
如有需要交流的朋友可以加我QQ237004139
展开
-
navigationBar设置setBackgroundImage:时控制器向下偏移
一、背景使用下面的方法设置navigationBar不会有问题self.navigationController.navigationBar.backgroundColor = [UIColor redColor];self.navigationController.navigationBar.tintColor = [UIColor purpleColor];但是使用下面的方法,暗黑模式下会往下偏移64,,但是正常模式不会偏移[self.navigationContro..原创 2020-05-12 18:56:16 · 826 阅读 · 0 评论 -
Xcode 11 找不到Application Loader解决方式
背景:升级Xcode 11之后,发现找不到Application Loader了,那么应该怎么处理呢?xcrun altool验证一下是否有权限xcrun altool --validate-app -f 包体绝对路径.ipa -t iOS -u 用户名 -p 密码上传代码xcrun altool --upload-app -f 包体绝对路径.ipa -t iOS -u 用户名 -p 密码验证报错*** Error: Unable to validate archi原创 2020-05-12 18:50:12 · 879 阅读 · 0 评论 -
iOS 合并两个有序数组
闲话不多说,直接上代码忘记之前在哪里拿到的代码,刚刚闲了拿来一看,里边有个小问题,修改了一下,发出来了。。#pragma mark - 有序数组合并/*** 将{1,4,6,7,9}和{2,3,5,6,8,9,10,11,12}合并为{1,2,3,4,5,6,6,7,8,9,9,10,11,12}*/- (void)reorderListMerge { int aLen ...原创 2019-10-12 17:31:57 · 1077 阅读 · 0 评论 -
macOS - 搭建本地服务器
一 启动服务器1、首先要保证服务器是打开的MacOS 自带Apatch服务器。在Safari中输入http://127.0.0.1,点击确定,成功显示:It Works! 如果访问失败了的话,在终端输入 `sudo apachectl start` 启动服务器>其他命令:>重启:sudo apachectl restart>关闭:sudo apachectl stop...原创 2018-08-28 18:48:32 · 1330 阅读 · 0 评论 -
iOS 中的协议(protocol)和代理(delegate)
# Protocol和Delegate简介Protocol协议类似于Java中的接口,是一个自定义方法的集合,让遵守这个协议的类去实现为了达到某种功能的这些方法,Java中是必须选择实现的方法,Objective-C中可以通过@optional(可选)或者@required(必须实现)来控制。Delegate代理是一种设计模式,通过@protocol来实现,可以通过本类来远程操作(代理通知实现协...原创 2018-07-22 12:48:06 · 321 阅读 · 0 评论 -
iOS 继承中方法调用的顺序
继承中方法调用的顺序:① 在自己的类中找;② 如果没有,就去父类中找;③ 如果父类中没有,就去父类的父类中;④ 如果父类的父类也没有,就还往上找,知道找到基类(NSObject);⑤ 如果NSObject中都没有,就报错了。注:如果找到了就执行这个方法,就不再往后查找了。多态:继承于animal的两个类,cat和dog,就是多态了。super 子类重写父类方法时,想要保留父类的...原创 2018-08-02 09:47:18 · 925 阅读 · 0 评论 -
OC +方法和-方法(补充篇)
类方法和对象方法1、对象方法:① 减号 - 开头;② 只能由对象来调用;③ 对象方法中能访问当前对象的成员变量(实例变量);2、类方法:① 加号 + 开头;② 只能由类(名)来调用;③ 类方法中不能访问成员变量(实例变量);3、类方法的好处和使用场合:① 不依赖于对象,执行效率高;② 能用类方法的尽量都用类方法;③ 场合:当方法内部不需要使用到成员变量时,就可以改成类方法;...原创 2018-08-02 10:10:01 · 2030 阅读 · 0 评论 -
iOS 内存管理(补充)
对象操作 OC中对应的方法 对应的 retain Count 变化 生成并持有对象 alloc/new/copy/mutableCopy等 +1 内容单元格 第一列第二格 多加文字 内容单元格第二列第二格 a 持有对象 retain +1 释放对象 release - 废弃对象 dealloc - ...原创 2018-08-02 10:20:11 · 255 阅读 · 0 评论 -
[self class] 和 [super class]
参考博客:https://blog.youkuaiyun.com/erice_e/article/details/73222616@implementation Son : Father- (id)init{ self = [super init]; if (self) { NSLog(@”%@”, NSStringFromClass([self class])...原创 2018-08-02 10:30:45 · 680 阅读 · 0 评论 -
[完] iOS开发中variable is not assignable missing block的解决办法
开发中报错variable is not assignable missing block意思是:变量是不可以转让的缺块。我们需要在变量的前面添加一个关键字 static。原创 2018-07-19 19:37:09 · 1210 阅读 · 0 评论 -
[完] 取图片上面的像素颜色
只是用了好用,拿来分享,参考网址如有侵权,请联系我删除,谢谢开源的童鞋。 不熟悉的点总结:m = (char *)malloc(sizeof(char));malloc() 动态分配内存,用malloc分配内存的首地址,然后赋值给变量m- (UIColor *) getPixelColorAtLocation:(CGPoint)point { UIColor* c...原创 2018-07-19 19:23:46 · 1038 阅读 · 0 评论 -
[完] malloc()函数
引言:将非ARC文件转换成ARC文件:-fobjc-arc 将ARC文件转化成非ARC文件:-fno-objc-arcmalloc() 动态内存分配char m;scanf(@" %c",&m);出现报错,信息如下:Implicit conversion of an Objective-C pointer to 'const char *' is disall...原创 2018-07-19 19:15:16 · 480 阅读 · 0 评论 -
[完] iOS ➕方法-方法 中的self具体表示什么?
//+ 方法+ (instancetype)cellWithTableView:(UITableView *)tableView { static NSString *cellID = @"unlockCellIdentifier"; id cell = [tableView dequeueReusableCellWithIdentifier:cellID]; D...原创 2018-07-19 18:51:59 · 570 阅读 · 0 评论 -
[完] dealloc不调用的原因
① 有计时器没有invalidate掉,这里要注意,先[_timer invalidate];然后再_timer = nil;就OK了;② 有循环引用强引用造成的;③ delegate没有取消也会造成影响; ...原创 2018-07-19 18:44:56 · 462 阅读 · 0 评论 -
iOS 正确使用NSLog的姿势
调试程序的时候,我们会用到NSLog打印一些日志,然后上架的时候都注释掉,我们定义一个宏,在上架版本release的时候,可以直接关闭掉。#ifdef DEBUG# define DLog(fmt, ...) NSLog((@"[文件名:%s]\n" "[函数名:%s]\n" "[行号:%d] \n" fmt), __FILE__, __FUNCTION__, __LINE__, ##__...原创 2018-07-03 18:44:32 · 1500 阅读 · 0 评论 -
url 中文字符处理
加密或者url中文字符或者特殊符号的处理,不是全部,只是对特殊符号的处理。 NSCharacterSet *allowedCharacters = [[NSCharacterSet characterSetWithCharactersInString:@"!#$%&'()*+,/:;=?@[]"] invertedSet]; NSString *encodedUrl = [s...原创 2018-06-19 14:53:21 · 308 阅读 · 0 评论 -
iOS 蓝牙check字段校验和 就是这么简单
先上代码再说o(* ̄︶ ̄*)o#pragma mark - check字段校验和- (NSData *)checkFieldCheckout:(NSData *)originalData { // data 转 16进制 NSString *originalStr = [requestTool hexStringFromData:originalData]; // 数组 ...原创 2018-06-13 10:11:39 · 1656 阅读 · 0 评论 -
iOS MQTT 协议消息通知
首先声明一下,我用的是 MQTTKit ,因为 MQTTClient 有一些问题,后台用的是混合主题,然后一直为空,无奈,换成了MQTTKit ,一次成功,再次表示感谢,对开源的大神们o( ̄︶ ̄)o直接上代码 :.h#import <Foundation/Foundation.h>#import "MQTTKit.h"@interface mqttTool : NSObject...原创 2018-06-12 19:23:39 · 1040 阅读 · 2 评论 -
dyld: Library not loaded: /System/Library/Frameworks/UserNotifications.framework/UserNotification...
真机运行报错,手机版本太低导致有一些框架用不了,提示如下:dyld: Library not loaded: /System/Library/Frameworks/UserNotifications.framework/UserNotifications Referenced from: /var/containers/Bundle/Application/E2822CA4-5B2A-46...原创 2018-06-12 19:16:38 · 851 阅读 · 0 评论 -
iOS 分类(category)、类扩展(extension)、协议(protocol)
分类 category使用场景分析1.扩展已有的类有大量的子类,需要添加公用方法,但又无法修改它们的父类的情形(如系统类)。一般是大量的功能代码已经形成,使用子类需要添加新类的头文件等。分类只能添加方法,不能添加属性。(下文会提到如何添加属性)2.使用父类私有方法已经存在了大量的子类方法,但是又无法修改他们的父类,比如系统自带的类添加类扩展方法。在子类中声明父类类别后,即可通过编译。...原创 2018-08-20 18:21:55 · 661 阅读 · 0 评论 -
static declaration of "****" follows non-static declaration
编译报错 static declaration of "****" follows non-static declaration 原因分析:调用的静态函数在调用之后声明的。解决方法:把静态函数声明放在调用前面。原创 2018-08-28 18:42:05 · 17967 阅读 · 0 评论 -
iOS 13 APP闪退
定位问题:发现是发现状态栏时,之前获取到的[statusBar valueForKeyPath:@"statusBar"]数据,现在是空,直接上代码吧????+ (BOOL)getNetworkType{ UIApplication *app = [UIApplication sharedApplication]; id statusBar = nil; NSStr...原创 2019-10-09 17:42:27 · 1300 阅读 · 0 评论 -
git提交代码时报错:xcrun: error: invalid active developer path
一、背景使用命令行提交代码到git时,出现报错xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun二、分析1.可能是之前卸载了Xco...原创 2019-08-21 14:06:15 · 973 阅读 · 0 评论 -
核心动画技巧 学习笔记
参考网址:https://zsisme.gitbooks.io/ios-/content/chapter14/image-ioi.html zPosition可以改变图层的顺序,但是不能改变事件传递顺序; 子view超出父view的bounds响应点击; - (void)layoutSublayersOfLayer:(CALayer *)layer; 当图层的bou...原创 2019-01-07 18:22:47 · 396 阅读 · 0 评论 -
Instruments 内存泄露直接看问题在源代码哪里
1 Instruments关联不上Xcode今天用Instruments跑了一下,内存泄露是找到了,如图1-1所示 1-1.png2 Xcode图标灰色1-2.png3 Reveal in Xcode也是灰色不能点击(其实图片里边的已经提示了,最下面的灰色行,哈哈)1-3.png4 勾选了Separate by Thread 、Invert Call T...原创 2019-01-11 12:03:12 · 609 阅读 · 0 评论 -
for in 循环、EnumerateObjectsUsingBlock
原创 2018-12-11 09:11:40 · 351 阅读 · 0 评论 -
UIView生命周期
原创 2018-12-11 09:08:08 · 536 阅读 · 0 评论 -
OC和Java的区别
原创 2018-12-11 09:06:41 · 620 阅读 · 0 评论 -
你不知道的UITableView代理方法
原创 2018-12-11 09:04:16 · 296 阅读 · 0 评论 -
block代码块的使用
原创 2018-12-11 09:01:51 · 276 阅读 · 0 评论 -
Mac 允许任何来源
Mac电脑安装程序,打开允许任何来源的方法,在终端执行命令行即可。sudo spctl --master-disable原创 2018-12-13 20:52:47 · 1341 阅读 · 0 评论 -
Mac 破解zip压缩文件密码详解
使用fcrackzip来破解zip类型压缩文件fcrackzip是一款专门破解zip类型压缩文件密码的工具,工具破解速度还是可以的,能用字典和指定字符集破解,适用于Linux、Mac OS 系统。如果你的电脑没有安装brew,需要执行下面命令行/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebr...原创 2018-12-13 20:49:17 · 22355 阅读 · 13 评论 -
编译报错 linker command failed with exit code 1 (use -v to see invocation)
原因分析两种可能,一种是文件重复了,系统编译时不知道使用哪个,另一种就是文件链接缺失,系统找不到使用哪个。屏幕快照 2018-11-26 上午11.50.27.png我拿到的项目显示library not found for -lstdc++.6找不到,苹果很早已经废弃了 lstdc++.6 了,直接使用libc++就OK。分析过程:1、右键错误提示,选择 Reveal in...原创 2018-12-05 18:35:37 · 1024 阅读 · 0 评论 -
iOS SDK开发入门姿势详解
1、创建workspace两张图搞定的事情,就不写了。① 打开Xcode,左上角 File--> New --> Workspace.② 创建一个文件夹,用来存放我们生成的文件,成功之后如下。2、创建SDK也是,我们几张图来搞定① Xcode左上角 File -> New -> Project.② 点击 Cocoa Touch Framework....原创 2018-08-21 18:14:38 · 2304 阅读 · 0 评论 -
Control reaches end of non-void function
编译出现报错: Control reaches end of non-void function原因分析:要返回参数的,可能某个控制流没有返回值。解决方法:检查一下每个控制流是否都有返回值。 ...原创 2018-08-28 18:42:55 · 2243 阅读 · 0 评论 -
苹果企业开发者证书申请一步到位
声明:这个是申请企业证书,企业证书,企业证书!!!如果需要申请公司证书的话,转我另一篇看下iOS 公司开发者账号申请(附加邓白氏编码的申请)1-1、首先打开苹果开发者网站1-2、登录苹果账号之后,进入首页1-3、首页拉到底部,看到第一列"Discover"有个"Developer Program"1-3.png1-4、点击进去,拉到底部,看到一个公文包样式的图片,点击"Learn more"1-4...原创 2018-06-12 19:02:07 · 2254 阅读 · 0 评论 -
iOS 用editActionsForRowAtIndexPath:删除cell时候回出现崩溃
先上代码// 删除cell操作- (NSArray<UITableViewRowAction *> *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath { __weak typeof(self)weakSelf = self; UITab...原创 2018-04-16 20:13:53 · 1983 阅读 · 0 评论 -
分辨率720p,VGA,QVGA,WVGA
720p:720 x 1080 (高清,HD,High Definition);VGA:640 x 480 (视频传输标准,显示速率快,颜色丰富);QVGA:240 x 320(Quarter VGA,VGA尺寸的四分之一);WVGA:800 x 480(比VGA分辨率高);原创 2017-11-02 18:02:52 · 4821 阅读 · 0 评论 -
用 @property 声明的 NSString (或 NSArray,NSDictionary) 经常使用 copy 关键字,为什么?如果改用strong关键字,可能造成什么问题?
因为父类指针可以指向子类对象,使用copy目的是为了让本对象的属性不受外界的影响,使用copy无论是给我传入一个可变对象还是不可变对象,我本身持有的都是一个不可变的副本。如果我们使用的是strong 的话,那么这个属性如果指向一个可变对象,可变对象在外部被修改的时候,会影响本身的属性。copy 所表达的所属关系与strong 类似,但是copy设置方法并不保留新值。当属性为NSStri原创 2017-11-02 18:01:42 · 599 阅读 · 0 评论 -
代码托管到github,让更多人看到你的进步
如果有图片显示不全的问题,请转去我的简书:[我的简书](http://www.jianshu.com/p/d304b922c077)做了许久的挣扎,终于在今天决定,将那惨不忍睹的代码托管到 github ,让更多人可以看到你的进步,其中,最主要是自己,获得心流。1、打开 github ;// 这将成为自己前进路上的一个分界岭2、注册账号然后打开,进去之后会看到下面这个页面原创 2017-10-16 18:27:09 · 382 阅读 · 0 评论