
Object-C开发
文章平均质量分 77
一度_iOSDeveloper
做好自己,做更好的自己
展开
-
iOS多线程编程技术之NSThread、Cocoa NSOperation、GCD
简介iOS有三种多线程编程的技术,分别是:(一)NSThread(二)Cocoa NSOperation(三)GCD(全称:Grand Central Dispatch)这三种编程方式从上到下,抽象度层次是从低到高的,抽象度越高的使用越简单,也是Apple最推荐使用的。三种方式的优缺点介绍:1)NSThread:优点:NSThread 比其他两个轻量级缺转载 2016-03-22 14:28:35 · 978 阅读 · 0 评论 -
FMDB官方使用文档
由于FMDB是建立在SQLite的之上的,所以你至少也该把这篇文章从头到尾读一遍。与此同时,把SQLite的文档页 加到你的书签中。自动引用计数(APC)还是手动内存管理呢?两种都行,FMDB会在编译的时候知道你是用的哪一种,然后进行相应处理。使用方法FMDB有三个主要的类1.FMDatabase – 表示一个单独的SQLite数据库。 用来执行SQLite的命令。转载 2016-05-19 13:35:21 · 359 阅读 · 0 评论 -
简述集成微信支付
原文链接:1. 导入微信包2.添加微信依赖的库3.MRC的文件修改成ARC方法:找到文件 -fno-objc-arc 添加这句话要修改的有2个文件 一个是 pay..... 一个是 apiXml...改好直接 command + B 编译一下。 成功往下进行4.在appdelegate里面引入头文件,和协议#im原创 2016-05-19 15:24:54 · 1191 阅读 · 0 评论 -
百度地图使用-自定义大头针和弹出气泡
// 根据anntation生成对应的View- (BMKAnnotationView *)mapView:(BMKMapView *)mapView viewForAnnotation:(id )annotation{ NSString *AnnotationViewID = [NSString stringWithFormat:@"renameMark%d",i];转载 2016-05-09 15:16:55 · 1957 阅读 · 0 评论 -
iOS极光推送 点击推送消息跳转页面
http://www.jianshu.com/p/eaf07c4372a8转载 2016-05-09 15:19:35 · 1666 阅读 · 0 评论 -
AppDelegate生命周期详解
#pragma mark 在应用程序加载完毕之后调用- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ NSLog(@"didFinishLaunchingWithOptions-加载完毕");原创 2016-05-23 15:41:35 · 361 阅读 · 0 评论 -
iOS 将字典 数组 转换成 NSdata 或者 NSString
NSObject+JSONCategories.h#import @interface NSObject (JSONCategories)/** * 描述:将NSArray或者NSDictionary转化为NSData * 参数: * 返回值:转化后的NSData * */-(NSData*)JSONData;/** * 描述:将NSArray或者NSDict转载 2016-06-04 18:51:26 · 6043 阅读 · 0 评论 -
NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象
一、了解NSUserDefaults以及它可以直接存储的类型 NSUserDefaults是一个单例,在整个程序中只有一个实例对象,他可以用于数据的永久保存,而且简单实用,这是它可以让数据自由传递的一个前提,也是大家喜欢用它保存简单数据的一个主要原因。 使用 NSUserDefaults 存储自定义对象的最初,我们必须认识NSUserDef转载 2016-06-04 18:52:37 · 437 阅读 · 0 评论 -
IOS TCP通讯
1.使用三方库AsyncSocket(对socket套接字封装),这里只演示tcp方式的通讯 2.ViewController 作为Server端. SendViewController作为Client端, 3.注意点: 1>服务器端注意点 服务器中NSMutableArray *allClientArray; 用来存放所有的socket连接,不然客户端连接之后就会断开 连接成功后死等数据过来 [转载 2016-06-04 18:54:30 · 1416 阅读 · 0 评论 -
Socket编程
一、网络各个协议:TCP/IP、SOCKET、HTTP等网络七层由下往上分别为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。其中物理层、数据链路层和网络层通常被称作媒体层,是网络工程师所研究的对象;传输层、会话层、表示层和应用层则被称作主机层,是用户所面向和关心的内容。 http协议 对应于应用层 tcp协议 对应于传输层转载 2016-06-04 18:55:58 · 629 阅读 · 0 评论 -
iOS 万能跳转界面方法 (runtime实用篇一)
在开发项目中,会有这样变态的需求:推送:根据服务端推送过来的数据规则,跳转到对应的控制器feeds列表:不同类似的cell,可能跳转不同的控制器(嘘!产品经理是这样要求:我也不确定会跳转哪个界面哦,可能是这个又可能是那个,能给我做灵活吗?根据后台返回规则任意跳转?)思考:wocao!这变态的需求,要拒绝他吗?switch判断呗,考虑所有跳转的因素?这转载 2016-06-14 16:30:38 · 2111 阅读 · 0 评论 -
你真的了解iOS代理设计模式吗?
本文是投稿文章,作者:刘小壮在项目中我们经常会用到代理的设计模式,这是iOS中一种消息传递的方式,也可以通过这种方式来传递一些参数。这篇文章会涵盖代理的使用技巧和原理,以及代理的内存管理等方面的知识。我会通过这些方面的知识,带大家真正领略代理的奥妙。写的有点多,但都是干货,我能写下去,不知道你有没有耐心看下去。本人能力有限,如果文章中有什么问题或没有讲到的点,请帮忙指出,十分感谢!转载 2016-05-19 13:33:31 · 1750 阅读 · 1 评论 -
百度地图使用地理编码与反地址编码
1、地理编码指的是将地址位置(中文地址)转换成经纬度,反地址编码指的是将经纬度转换成地址位置;2、在百度地图中需要用到三个关键性的类:BMKGeoCodeSearch、BMKGeoCodeSearchOption、BMKReverseGeoCodeOption;3、BMKGeoCodeSearch:地理编码主类,用来查询、返回结果信息(地址位置或经纬度);4、BMKGeoC转载 2016-05-19 13:01:01 · 8548 阅读 · 0 评论 -
UIBezierPath精讲
基础知识使用UIBezierPath可以创建基于矢量的路径,此类是Core Graphics框架关于路径的封装。使用此类可以定义简单的形状,如椭圆、矩形或者有多个直线和曲线段组成的形状等。UIBezierPath是CGPathRef数据类型的封装。如果是基于矢量形状的路径,都用直线和曲线去创建。我们使用直线段去创建矩形和多边形,使用曲线去创建圆弧(arc)、圆或者其他复杂的转载 2016-01-29 13:45:20 · 476 阅读 · 0 评论 -
iOS —— Attributes文字的操作,TextFiel框内文字颜色大小等改变
文本属性Attributes1.NSKernAttributeName: @10 调整字句 kerning 字句调整2.NSFontAttributeName : [UIFont systemFontOfSize:_fontSize] 设置字体3.NSForegroundColorAttributeName :[UIColor redColor] 设置文字颜色4.N转载 2016-03-24 18:02:58 · 981 阅读 · 0 评论 -
UIKeyboardTypeNumberPad 数字键盘自定义按键
需求背景最近做一个搜索用户的功能,这里使用了UISearchBar。由于搜索的方式只有手机号码,所以这里的键盘要限制为数字输入,可以这么做:self.searchBar.keyboardType = UIKeyboardTypeNumberPad;1但是这里有个问题,就是数字键盘上面没有“搜索”按钮,这样子用户在输入完手机号码后无法搜索。所以这个时候我们需要自己添加一个转载 2016-03-24 18:04:14 · 2162 阅读 · 0 评论 -
动态获取iphone键盘的高度
监听键盘呼出事件的消息:[plain] view plaincopy[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:)转载 2016-03-24 18:06:11 · 466 阅读 · 0 评论 -
关于ARC中block的用法 及weak self等(持续更新)
今天看了一篇文章。先暂时作为开头。有空更新前言在不久前看AFNetworking的源码时候发现了这么一句:12345678910// 不知道这行代码的使用场景的同学你该去自习看看ARC的注意事项和Block的使用了// AFNetworking的写法__weak __typeof(&*self)weakSelf =原创 2016-04-07 18:07:43 · 629 阅读 · 0 评论 -
iOS 获取图片某一点的颜色对象(UIColor*
UIImage+ColorAtPixel.h@interfaceUIImage (ColorAtPixel) - (UIColor *)colorAtPixel:(CGPoint)point; @end #importCoreGraphics/CoreGraphics.h> #import原创 2016-03-15 15:37:29 · 915 阅读 · 0 评论 -
[代码分享]UIImage:获取图片主色调
-(UIColor*)mostColor{ #if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_6_1 intbitmapInfo = kCGBitmapByteOrderDefault | kCGImageAlphaPremultipliedLast;#else i转载 2016-03-15 15:38:30 · 1165 阅读 · 0 评论 -
快速集成支付宝支付步骤及注意事项(原创)
本文介绍了iOS快速集成支付宝支付的方法,本文中介绍的方法是经过一次封装,因此配置完成之后调用仅需一行代码即可支付宝支付,非常的方便,希望大家喜欢。我只是根据官方的文档,对支付宝的SDK做了进一步封装,其中密钥的生成很简单,需要看官方的文档,官方的文档我在工程附件目录里也有一份,如果需要马上集成,没工夫研究的话,可以大致看一下密钥的生成即可,其他的配置我会在下面进行讨论。原创 2016-04-12 17:35:48 · 4360 阅读 · 1 评论 -
SDWebImage使用详解
SDWebImage使用详解这个类库提供一个UIImageView类别以支持加载来自网络的远程图片。具有缓存管理、异步下载、同一个URL下载次数控制和优化等特征。使用示范的代码:UITableView使用UIImageView+WebCache类(基本应用,UIImageView的一个category)前提#import导入UIImageView+WebCache.h文件,然后在t转载 2016-05-27 09:20:28 · 1228 阅读 · 0 评论 -
IOS原生代码实现推送
好久没有写过博客啦,今天就由本菜鸟给大家做一个简单的IOSApp消息推送教程吧!一切从0开始,包括XCode6, IOS8, 以及苹果开发者中心最新如何注册应用,申请证书以及下载配置概要文件,相信很多刚开始接触ios的人会很想了解一下。(ps:网上看了一下虽然有很多讲述推送的好教程,我也是看着一步步学会的,但是这些教程的时间都是去年或者更早时期的,对引导新手来说不是很合适)第一部分转载 2016-05-30 16:06:35 · 4568 阅读 · 0 评论 -
关于iOS多线程
在这篇文章中,我将为你整理一下 iOS 开发中几种多线程方案,以及其使用方法和注意事项。当然也会给出几种多线程的案例,在实际使用中感受它们的区别。还有一点需要说明的是,这篇文章将会使用Swift 和 Objective-c 两种语言讲解,双语幼儿园。OK,let's begin!概述这篇文章中,我不会说多线程是什么、线程和进程的区别、多线程有什么用,当然我也不会说什么是串行、什么是并行转载 2016-06-14 16:31:55 · 565 阅读 · 0 评论 -
常用RGB颜色表 色值
RGB值 RGB值 RGB值黑色000#000000黄色2552550#FFFF00浅灰蓝色原创 2016-07-25 09:58:47 · 40477 阅读 · 0 评论 -
避免在类别(category)中定义属性(@property)
property 是包装数据的一种办法.尽管技术上可以实现在category里面声明一个property,但是应该尽量避免这样做.理由是,除了class延续类别外,是不可能用一个category对class添加一个实例变量. 因此对于category同样也不可能合成一个实例变量去支持property. 我们来切割下本来是实现person的class.你可能需要一个关于友谊的category声明方法转载 2016-11-09 16:39:58 · 1485 阅读 · 0 评论 -
iOS面向切面编程-AOP
1. AOP简介AOP: Aspect Oriented Programming 面向切面编程。 面向切面编程(也叫面向方面):Aspect Oriented Programming(AOP),是目前软件开发中的一个热点。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。 AOP是OOP的延续,是(Aspe原创 2016-11-11 09:51:08 · 4327 阅读 · 1 评论 -
NSRunLoop的一点理解
一、类定义 + (NSRunLoop *)currentRunLoop 如果调用的线程中没有runloop,那么将会创建一个并返回 + (NSRunLoop *)mainRunLoop 返回主线程的runloop - (void)acceptInputForMode:(NSString *)mode beforeDate:(NSDate *)lim转载 2016-11-11 16:21:01 · 288 阅读 · 0 评论 -
对定时器与滚动视图冲突处理
直接上代码。//// ViewController.m// TestRunLoop//// Created by 赵诣 on 2016/11/11.// Copyright © 2016年赵诣. All rights reserved.//#import "ViewController.h"#imp原创 2016-11-11 16:24:00 · 1049 阅读 · 0 评论 -
IOS开发UI篇--IOS动画(Core Animation)总结
一、简介IOS 动画主要是指Core Animation框架。官方使用文档地址为:Core Animation Guide。Core Animation是IOS和OS X平台上负责图形渲染与动画的基础框架。Core Animation可以作用与动画视图或者其他可视元素,为你完成了动画所需的大部分绘帧工作。你只需要配置少量的动画参数(如开始点的位置和结束点的位置)即可使用Core Ani转载 2016-10-25 17:26:49 · 940 阅读 · 0 评论 -
iOS开发之获取系统相册中的图片与视频(内带url转换)
@话不多说,直接上代码[objc] view plaincopy#import // 必须导入 // 照片原图路径 #define KOriginalPhotoImagePath \ [[NSSearchPathForDirectoriesInDomains(NSCachesDirectory,转载 2017-03-06 09:15:27 · 1030 阅读 · 0 评论 -
IOS---NSdata 与 NSString,Byte数组,UIImage 的相互转换
1. NSData 与 NSStringNSData-> NSStringNSString *aString = [[NSString alloc] initWithData:adataencoding:NSUTF8StringEncoding];NSString->NSDataNSString *aString = @"1234abcd";转载 2017-03-29 11:58:10 · 2711 阅读 · 0 评论 -
iOS 之NSJSONReadingOptions说明
首先用代码来说明NSJSONReadingMutableContainers的作用: 1 NSString *str = @"{\"name\":\"kaixuan_166\"}"; 2 3 NSMutableDictionary *dict = [NSJSONSerialization JSONObjectWithData:[str dataUsingE转载 2017-04-28 16:19:01 · 454 阅读 · 0 评论 -
iOS多线程:『NSOperation、NSOperationQueue』详尽总结
本文用来介绍 iOS 多线程中 NSOperation、NSOperationQueue 的相关知识以及使用方法。通过本文,您将了解到:NSOperation、NSOperationQueue 简介、操作和操作队列、使用步骤和基本使用方法、控制串行/并发执行、NSOperation 操作依赖和优先级、线程间的通信、线程同步和线程安全,以及 NSOperation、NSOperationQueue ...转载 2018-03-13 11:19:47 · 416 阅读 · 0 评论 -
OC方法的懒加载
原文链接:https://www.jianshu.com/p/1c6b4887674b提到懒加载,或许99%搞iOS开发的同学都会用过,众所周知,懒加载就是用到的时候再加载,通常我们都用作属性上面,通过self.xx来实现。那么OC方法的懒加载你听说过吗?用过吗?下面就是通过runtime来实现一下方法的懒加载,玩一下。首先创建一个Person类,.h文件里面什么都不用写 Vi...原创 2018-04-08 15:20:27 · 1361 阅读 · 0 评论 -
解决隐藏tabbar后底部视图button不响应问题
在controller中加入- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) {原创 2015-12-23 13:18:04 · 686 阅读 · 0 评论 -
上传AppStore被拒理由(持续更新)
1. 原文忘记了。大概是说不能自己写检测更新,和提示更新苹果内部应用AppStore自带更新功能, 所以苹果不允许你自己写更新。这是我最近被拒的原因原创 2016-01-15 14:40:35 · 679 阅读 · 0 评论 -
IOS实现Voip应用后台运行需要的几个配置项
转自出处:http://blog.youkuaiyun.com/wzzvictory/article/details/8815590IOS实现Voip应用后台运行需要的几个配置项作者:wangzz原文地址:http://blog.youkuaiyun.com/wzzvictory/article/details/8815590转载请注明出处如果觉得文章对你有所帮转载 2016-07-28 13:51:22 · 1033 阅读 · 0 评论 -
iOS开发之直播App流程介绍,直播资料收集汇总,视频推流,视频拉流,SMTP、RTMP、HLS、 PLPlayerKit
(一) iOS 直播类APP开发流程分解: 1 . 音视频处理的一般流程:数据采集→数据编码→数据传输(流媒体服务器) →解码数据→播放显示1、数据采集:摄像机及拾音器收集视频及音频数据,此时得到的为原始数据涉及技术或协议:摄像机:CCD、CMOS拾音器:声电转换装置(咪头)、音频放大电路2、数据编码:使用相关硬件或软件对音视频原始数据进行编码处理(转载 2016-07-28 13:53:04 · 3069 阅读 · 0 评论 -
谓词(NSPredicate)
OC中的谓词操作是针对于数组类型的,他就好比数据库中的查询操作,数据源就是数组,这样的好处是我们不需要编写很多代码就可以去操作数组,同时也起到过滤的作用,我们可以编写简单的谓词语句,就可以从数组中过滤出我们想要的数据。非常方便。在Java中是没有这种技术的,但是有开源的框架已经实现了此功能。下面来看一下具体的例子吧:Person.h[objc]转载 2016-11-03 15:19:07 · 360 阅读 · 0 评论