iOS开发
文章平均质量分 54
SomethingCode
我的编程生涯
展开
-
AFNetworking的错误码
1.AFNetworking的报错Error Domain=NSURLErrorDomain Code=-1012 解决问题 在开发中是用AFNetworking https会报错-1012 报错如下·:Error = Error Domain=NSURLErrorDomain Code=-1012 "The operation couldn’t be completed. (原创 2015-10-17 17:31:42 · 1512 阅读 · 0 评论 -
iOS 崩溃日志分析(个人总结,最实用)
要分析奔溃日志需要三个文件:crash日志,symbolicatecrash分析工具,.dSYM符号集0. 在桌面创建一个crash文件夹1. 需要Xcode自带的崩溃分析工具symbolicatecrash,命令:find /Applications/Xcode6.1.app -name symbolicatecrash -type f这个文件的位置参考:/Applications...原创 2016-02-18 15:01:08 · 14361 阅读 · 0 评论 -
iOS 如何在程序中使用NSCache实现缓存
在iOS开发中经常需要用到NSCache做缓存。比如做一个相册浏览器,如果一直从内存中读取大量数据就会很影响性能,如果在缓存中将已经看的图片存进去,下次需要的时候先去从缓存中获取,如果没有再从内存中读取#define kCacheTotalCostLimit 10*1024*1024 // 设置缓存区域大小为10MNSCache 的实现方式和NSMutabledictionary原创 2016-02-29 20:36:09 · 1724 阅读 · 0 评论 -
static 关键字小解
在变量声明前加上关键字static可以使局部变量保留多次调用一个方法所得的值static int a = 1;声明一个整型静态变量 a 。这里是不需要初始化的,静态变量的初始值就是0;经常我们需要计算执行一个方法的次数,我们会习惯性的使用一个实例变量来计数例如 在interface中声明 index 后初始化为 0然后在方法中index ++ - (void)sho原创 2016-05-08 15:23:55 · 291 阅读 · 0 评论 -
关于多线程之GCD的两点问题思考
1.在多线程中可以通过DISPATCH_QUEUE_SERIAL实现串行队列,那么如何在DISPATCH_QUEUE_CONCURRENT 实现串行效果解决方法:使用信号量 dispatch_semaphore_t 见方法 - (void)runAction22. GCD中经常碰到这样一种情况:在串行队列中可能会堆积很多,后续线程一直等待,这种情况可以通过如下方式给线程计数来完成见方法原创 2016-07-27 11:13:17 · 331 阅读 · 0 评论 -
项目中使用百度地图记录
现象1:偶先在切换界面之后导致地图只能缩放,但是不能移动解决方案: 在百度地图类中,有部分 delegate 的设置需要在 - (void)viewWillDisappear:(BOOL)animated 时设置nil,在- (void)viewWillAppear:(BOOL)animated 恢复现象2:百度地图的坐标不能直接使用系统提供的 翻遍吗方式解析,不够准确解决方案原创 2017-06-02 15:20:17 · 370 阅读 · 0 评论 -
appium 下 python 脚本自动化测试iOS APP 实例
环境:Mac,Xcode, appium python 本文基于appium 环境搭建成功后。如何使用python 编写脚本测试iOS APP1.下载python-client https://github.com/appium/python-client 2.在终端 打开到已经下载的文件目录下执行 python setup.py install 3. 打开apppium 桌面版。点击 st原创 2017-09-13 15:14:08 · 5959 阅读 · 0 评论 -
关于在APP中边缘滑动返回卡顿问题
iOS 边缘滑动返回 卡顿原创 2017-09-01 14:26:31 · 720 阅读 · 0 评论 -
解决iPhone版本升级后,xcode 不能继续调试问题
如果你不想安装使用xcode9 也不想升级Mac OS 版本 ,可以看看下面方法: 找到文件路径xcode-content-Developer-platforms-iPhoneOS.platform-DeviceSupport可以查看到当前xcode 支持的iOS版本,在新版本的xcode 中将新的iOS 版本拷贝到低版本的xcode 中即可。如图我的xcode 是8.2,原创 2017-09-20 10:26:17 · 2039 阅读 · 0 评论 -
iOS 中实现绑定变化的 思路
iOS多视图绑定变化原创 2017-10-30 16:50:56 · 432 阅读 · 0 评论 -
关于static 的一点思考
1. 局部变量中的 static static 修饰的变量只被初始化一次。作用域为当前方法,生命周期改变,一致到程序结束才释放2. 全局变量中的 static 默认情况没有被static修饰的情况下 作用域是整个项目,项目中任何地方都能通过extern关键字来引用, 还是只会被初始化一次,内存地址同样只有一份使用static 修饰时,作用域为当前文件。改变了作用域原创 2017-11-03 11:18:41 · 234 阅读 · 0 评论 -
关于const 使用
用const修饰的变量表示变量值只读。static有两个作用:指定变量的作用域和存储的方式。例如在一个文件首部声明static变量,那么这个变量只能在该文件中使用。两者结合可以设置作用域确定并且只读的变量,例如文件中的全局常量。1.用const修饰指针变量(1)const 类型 * 变量名:可以改变指针的指向,不能改变指针指向的内容。int x = 1; int y转载 2017-11-03 13:55:36 · 1040 阅读 · 0 评论 -
关于 && 的一点思考
程序中我们经常使用 && 用于逻辑判断,一些用法值得思考:首先我们知道 A && B ,必须二者同时为真,结果才为真。有一个为假,结果就为假。 使用实例:- (BOOL)test1{ NSLog(@"test 1"); return YES;} - (BOOL)test2{ NSLog(@"test 2"); return NO;}第一种调用:原创 2017-11-29 16:08:33 · 360 阅读 · 0 评论 -
iOS开发中 中NS_ENUM与NS_OPTIONS区别
首先看两个实例typedef NS_OPTIONS(NSUInteger, TestModeType){ TestModeOne = 1 << 0, TestModeTwo = 1 << 1, TestModelThree = 1 << 2};typedef NS_ENUM(NSInteger, MenuType) { MenuTypeOne, M原创 2017-11-21 17:47:30 · 590 阅读 · 0 评论 -
SDWebImage源码学习之由浅入深一
SDWebImage原创 2017-11-22 11:44:51 · 369 阅读 · 0 评论 -
SDWebImage源码学习之由浅入深 二
接上篇分析SDWebImage源码学习之由浅入深 一原创 2017-11-24 15:45:58 · 296 阅读 · 0 评论 -
iOS延时操作
延时执行方法 五秒后执行打印方法一:dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ NSLog(@"333");});方法二:[self performSelector:@selector(afterAction) wit原创 2016-02-27 10:38:24 · 316 阅读 · 0 评论 -
ios Apple Pay 简单使用
配置1.在开发者帐号中先添加一个 Merchant IDs2.如果已经有apple id,编辑apple id 在其中打开apple pay 选项,这时候就可选择 刚才添加的 Merchant IDs3.重新配置provisioning Profiles安装4.在工程文件选择capatilities 大家app pay选项,然后程序就会自动关联之前设置的 Merchant IDs原创 2016-02-27 15:57:09 · 959 阅读 · 0 评论 -
GCD之dispatch_group_t
不废话,直接上代码,从代码的执行效果看如何使用dispatch_queue_t queue = dispatch_queue_create("com.test.queue", DISPATCH_QUEUE_CONCURRENT);dispatch_group_t group = dispatch_group_create();dispatch_group_async(group, queue, ^原创 2016-02-27 10:26:47 · 345 阅读 · 0 评论 -
Xcode 插件问题大集锦
本文主要是将自己在使用Xcode时遇到的插件问题整理一下:1.插件的选择2.插件的安装3.点击安装后不能成功下载安装4.插件安装成功但是无法使用原创 2015-10-20 13:44:44 · 564 阅读 · 0 评论 -
Xcode7需要注意的地方
1.新装的Xcode7 编译程序 出现 #warning: 获取app配置信息失败: The resource could not be loaded because the App Transport Security这是因为Xcode将以往HTTP协议强制改为HTTPS协议,以后的APP应该都是了,根本解决办法 改协议,临时解决办法在Info.plist中添加 NSAppTran原创 2015-10-20 16:52:23 · 435 阅读 · 0 评论 -
iOS 程序进入后台到底发生了什么?
现在在做一个iOS视频监控软件,程序中经常会处理这种程序退到后台时应该如何处理的情况。所以想写一下关于iOS程序进入后台之后都干了 什么 在程序中的supporting files ->info.plist->Application does not run in background 可以设置是否允许程序在后台挂起或运行第一种情况 当应用可以在后台运行时,共经历三个阶段四原创 2015-11-07 15:04:11 · 1752 阅读 · 0 评论 -
iOS 多线程初学习之dispatch_async(dispatch_get_main_queue(), ^{})
IOS 多线程之 dispatch_async(dispatch_get_main_queue()})原创 2015-11-07 16:49:44 · 7381 阅读 · 0 评论 -
iOS如何让程序能够支持文件共享
由于iOS的沙盒机制,苹果用户就不能像安卓用户那样能够直接往手机里拷自己喜欢的音视频文件,如果你的程序支持拷贝文件进去,并且能够显示在程序中。那么就需要以下配置了:在应用程序的Info.plist文件中添加UIFileSharingEnabled(Application supports iTunes file sharing )键,并将键值设置为YES。这时你再连接手机运行程序,原创 2015-11-09 20:51:51 · 6289 阅读 · 0 评论 -
ios 中如何处理于Webview 的交互
首先要知道几个字符串,这几个字符串就类型命令行作用:根据需要使用@"document.URL"@"document.location.href"@"self.location.href"@"document.location"@"top.location.href"@"parent.document.location"@"top.location.hostnam原创 2016-01-18 19:55:13 · 458 阅读 · 0 评论 -
数组中不常用却又好用的方法探索
博客事由:在开发静态库时,希望能够让自己的接口更加人性化以及实用价值更高,我需要用到一个数组,以及对数组元素是否存在的判断。以往总是遍历所有元素,于是就想有没有一个方法能够直接判断某个元素是否存在于数组中,于是尝试之下果然发现还是有的。进而想更深层次的挖掘一下数组的一些实用的方法。 (1)这个方法能够直接判断数组是否包含该元素 NSArray *arr =@原创 2015-11-25 00:45:08 · 438 阅读 · 0 评论 -
ios 处理图片拉伸
1 UIImage* img=[UIImage imageNamed:@"2.png"];//原图2 UIEdgeInsets edge=UIEdgeInsetsMake(0, 10, 0,10); // 上左下右3 //UIImageResizingModeStretch:拉伸模式,通过拉伸UIEdgeInsets指定的矩形区域来填充图片4 //UIImag原创 2016-01-20 11:33:08 · 340 阅读 · 0 评论 -
iOS tabview 复用机制详解
看到别人的一篇博客,觉得很好创建UITableViewController子类的实例后,IDE生成的代码中有如下段落: [cpp] viewplaincopy- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPat转载 2016-01-22 20:03:42 · 2733 阅读 · 0 评论 -
关于在ios 中断言的使用
好久没有写博客了,这段时间一直在忙公司的项目 简单说一下iOS中断言的使用 断言 在开发中经常在使用到,先看iOS中断言的使用实例 (NSAssert) NSString *str =@"abcd"; NSAssert([strisEqualToString:@"abcde"],@"str != abcde");在断言中前面那部分输入断言原创 2016-01-14 21:54:30 · 640 阅读 · 0 评论 -
如何让代码封装性强,耦合度低(持续更新)
1.传值问题,当A跳转到B界面,同时需要将值传给B ,常规的做法是在B头文件中暴露需要传值的变量@interface B : UIViewController@property (strong) NSString* name;@end然而其实这样并不好,任何持有B实例的地方都能修改name 的值优化处理措施:可以将name 变量设置为初始化必须变量// .h原创 2016-03-06 21:16:05 · 1827 阅读 · 1 评论 -
Xcode 7 使用CoreData 关于数据库升级问题
coreData 很好用,但是也很坑今天不说coreData 的具体使用,只提在实际运用中很关键的一种情况那就是数据库升级以添加新字段为情形描述先已有旧数据库,只有name age 两个字段当你更新app版本时添加了一个新字段 address 这个时候如果直接将address 字段加入表内,运行就会崩溃正确方法:1.新建一个数据库分支 在Editor ->Add Mo原创 2016-03-07 21:18:56 · 479 阅读 · 0 评论 -
ios 属性与成员变量的区别
一、类Class中的属性property 在ios第一版中,我们为输出口同时声明了属性和底层实例变量,那时,属性是oc语言的一个新的机制,并且要求你必须声明与之对应的实例变量,例如:@interface MyViewController :UIViewController{ UIButton *myButton;}@property (nonatomic, retain转载 2016-03-08 19:22:21 · 350 阅读 · 0 评论 -
ios 中如何实现程序内访问其他程序
最近提到这个问题,在网上找了一些资料,但是没发现能完美实现的,就像自己写一下这个详细的操作过程首先写两个程序分别命名:applicationA 和applicationB现在需要在applicationA中点击按钮打开applicationB主要操作在applicaitonB中配置info.plist文件添加字段如图同时在applicationA原创 2016-02-23 22:43:18 · 588 阅读 · 0 评论 -
Touch ID简单使用
实现iOS的指纹识别需要先#import LAContext *la =[[LAContext alloc] init]; BOOL issupport = [la canEvaluatePolicy:kLAPolicyDeviceOwnerAuthenticationWithBiometrics error:NULL]; la.locali原创 2016-02-27 11:37:05 · 574 阅读 · 0 评论 -
GCD之dispatch_barrier_asyc
dispatch_queue_t testqueue = dispatch_queue_create("com.test.testqueue", DISPATCH_QUEUE_CONCURRENT); dispatch_async(testqueue, ^{ NSLog(@"a=%ld",(long)i);原创 2016-02-27 10:07:18 · 314 阅读 · 0 评论 -
iOS 中关于@synchronized的一点思考
参考 :https://www.cnblogs.com/jukaiit/p/5570056.htmlhttps://www.cnblogs.com/CoderAlex/p/5257339.htmlhttp://www.cocoachina.com/ios/20161205/18279.htmlhttp://www.jianshu.com/p/1e59f0970bf5原创 2017-11-24 18:34:59 · 803 阅读 · 0 评论