OC-类
文章平均质量分 74
一度_iOSDeveloper
做好自己,做更好的自己
展开
-
iOS多图选择器 PhotoKit (iOS 8以上)
先说兼容iOS 10这一块有关相册需要注意的ios10系统下真机NSLog,不打印数据,需要打印的话自行百度NSLog iOS10在infoPlist里面加 Privacy - Camera Usage Description, Privacy - Photo Library Usage Description,两个字段 iOS10需在Build Phases -- Link Bina...转载 2018-10-29 15:29:34 · 752 阅读 · 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 · 6010 阅读 · 0 评论 -
Masonry介绍与使用实践:快速上手Autolayout
前言1MagicNumber -> autoresizingMask -> autolayout以上是纯手写代码所经历的关于页面布局的三个时期在iphone1-iphone3gs时代 window的size固定为(320,480) 我们只需要简单计算一下相对位置就好了在iphone4-iphon转载 2016-05-09 15:14:43 · 437 阅读 · 0 评论 -
FMDB官方使用文档
由于FMDB是建立在SQLite的之上的,所以你至少也该把这篇文章从头到尾读一遍。与此同时,把SQLite的文档页 加到你的书签中。自动引用计数(APC)还是手动内存管理呢?两种都行,FMDB会在编译的时候知道你是用的哪一种,然后进行相应处理。使用方法FMDB有三个主要的类1.FMDatabase – 表示一个单独的SQLite数据库。 用来执行SQLite的命令。转载 2016-05-19 13:35:21 · 340 阅读 · 0 评论 -
百度地图使用地理编码与反地址编码
1、地理编码指的是将地址位置(中文地址)转换成经纬度,反地址编码指的是将经纬度转换成地址位置;2、在百度地图中需要用到三个关键性的类:BMKGeoCodeSearch、BMKGeoCodeSearchOption、BMKReverseGeoCodeOption;3、BMKGeoCodeSearch:地理编码主类,用来查询、返回结果信息(地址位置或经纬度);4、BMKGeoC转载 2016-05-19 13:01:01 · 8411 阅读 · 0 评论 -
SDWebImage使用详解
SDWebImage使用详解这个类库提供一个UIImageView类别以支持加载来自网络的远程图片。具有缓存管理、异步下载、同一个URL下载次数控制和优化等特征。使用示范的代码:UITableView使用UIImageView+WebCache类(基本应用,UIImageView的一个category)前提#import导入UIImageView+WebCache.h文件,然后在t转载 2016-05-27 09:20:28 · 1203 阅读 · 0 评论 -
数据库操作(使用FMDB)
iOS中原生的SQLite API在使用上相当不友好,在使用时,非常不便。于是,就出现了一系列将SQLite API进行封装的库,例如FMDB、PlausibleDatabase、sqlitepersistentobjects等,FMDB (https://github.com/ccgus/fmdb) 是一款简洁、易用的封装库,这一篇文章简单介绍下FMDB的使用。在FMDB下载文件转载 2016-05-12 18:04:44 · 467 阅读 · 0 评论 -
关于UITextView的几种回收键盘的方法
1.如果你程序是有导航条的,可以在导航条上面加多一个Done的按钮,用来退出键盘,当然要先实UITextViewDelegate。代码如下:- (void)textViewDidBeginEditing:(UITextView *)textView { UIBarButtonItem *done = [[[UIBarButtonItem alloc] initWithBa转载 2016-05-12 10:41:12 · 370 阅读 · 0 评论 -
搜索字符串中字符出现的次数,并且高亮显示
objective-c :搜索字符串中字符出现的次数,并且高亮显示- (NSMutableAttributedString *)colorData:(NSString *)withStr{ NSMutableAttributedString *dataStr = [[NSMutableAttributedString alloc] initWithString:withStr转载 2016-03-15 15:52:31 · 1217 阅读 · 1 评论 -
iOS 获取图片某一点的颜色对象(UIColor*
UIImage+ColorAtPixel.h@interfaceUIImage (ColorAtPixel) - (UIColor *)colorAtPixel:(CGPoint)point; @end #importCoreGraphics/CoreGraphics.h> #import原创 2016-03-15 15:37:29 · 903 阅读 · 0 评论 -
iOS基础CGAffineTransform的简单使用
CoreGraphics框架中的CGAffineTransform类可用于设定UIView的transform属性,控制视图的缩放、旋转和平移操作:另称放射变换矩阵,可参照线性代数的矩阵实现方式0.0这里附上的CGAffineTransform官方文档:https://developer.apple.com/library/ios/documentation/Graphic转载 2016-04-07 18:14:14 · 4189 阅读 · 0 评论 -
NSDateFormatter 和 NSDateComponents 的用法
NSDateFormatter调整时间格式的代码在开发iOS程序时,有时候需要将时间格式调整成自己希望的格式,这个时候我们可以用NSDateFormatter类来处理。例如://实例化一个NSDateFormatter对象NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];//设定时间格式,这里转载 2016-04-07 18:08:32 · 729 阅读 · 0 评论 -
关于ARC中block的用法 及weak self等(持续更新)
今天看了一篇文章。先暂时作为开头。有空更新前言在不久前看AFNetworking的源码时候发现了这么一句:12345678910// 不知道这行代码的使用场景的同学你该去自习看看ARC的注意事项和Block的使用了// AFNetworking的写法__weak __typeof(&*self)weakSelf =原创 2016-04-07 18:07:43 · 616 阅读 · 0 评论 -
UIKeyboardTypeNumberPad 数字键盘自定义按键
需求背景最近做一个搜索用户的功能,这里使用了UISearchBar。由于搜索的方式只有手机号码,所以这里的键盘要限制为数字输入,可以这么做:self.searchBar.keyboardType = UIKeyboardTypeNumberPad;1但是这里有个问题,就是数字键盘上面没有“搜索”按钮,这样子用户在输入完手机号码后无法搜索。所以这个时候我们需要自己添加一个转载 2016-03-24 18:04:14 · 2128 阅读 · 0 评论 -
NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象
一、了解NSUserDefaults以及它可以直接存储的类型 NSUserDefaults是一个单例,在整个程序中只有一个实例对象,他可以用于数据的永久保存,而且简单实用,这是它可以让数据自由传递的一个前提,也是大家喜欢用它保存简单数据的一个主要原因。 使用 NSUserDefaults 存储自定义对象的最初,我们必须认识NSUserDef转载 2016-06-04 18:52:37 · 428 阅读 · 0 评论 -
Socket编程
一、网络各个协议:TCP/IP、SOCKET、HTTP等网络七层由下往上分别为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。其中物理层、数据链路层和网络层通常被称作媒体层,是网络工程师所研究的对象;传输层、会话层、表示层和应用层则被称作主机层,是用户所面向和关心的内容。 http协议 对应于应用层 tcp协议 对应于传输层转载 2016-06-04 18:55:58 · 613 阅读 · 0 评论 -
__block 与 __weak的区别与使用
1.__block对象在block中是可以被修改、重新赋值的。 2.__block对象在block中不会被block强引用一次,从而不会出现循环引用问题。3.__block不管是ARC还是MRC模式下都可以使用,可以修饰对象,还可以修饰基本数据类型。 4.__weak只能在ARC模式下使用,也只能修饰对象(NSString),不能修饰基本数据类型(int)。 5.__block对象原创 2016-07-11 15:12:46 · 616 阅读 · 0 评论 -
iOS多线程:『NSOperation、NSOperationQueue』详尽总结
本文用来介绍 iOS 多线程中 NSOperation、NSOperationQueue 的相关知识以及使用方法。通过本文,您将了解到:NSOperation、NSOperationQueue 简介、操作和操作队列、使用步骤和基本使用方法、控制串行/并发执行、NSOperation 操作依赖和优先级、线程间的通信、线程同步和线程安全,以及 NSOperation、NSOperationQueue ...转载 2018-03-13 11:19:47 · 376 阅读 · 0 评论 -
WKWebView在实际开发中的使用汇总
一、基本使用WKWebView的基本使用网上也有很多,这里我就简略的写一下:引入头文件#import <WebKit/WebKit.h>- (void)setupWebview{ WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init]; config.selectionGranular...转载 2018-03-14 17:51:38 · 1680 阅读 · 0 评论 -
ios获取图片exif信息
[objc] view plain copy#include "AssetsLibrary/ALAssetsLibrary.h" #include "AssetsLibrary/ALAssetRepresentation.h" [objc] view plain copy- (void)imagePicke转载 2017-08-03 12:00:09 · 2274 阅读 · 0 评论 -
AVSpeechSynthesizer详解
介绍从IOS5开始,IOS系统已经在siri上集成了语音合成的功能,但是是私有API。但是在IOS7,新增了一个简单的API----AVSpeechSynthesizer来做这件事情。案列如下:#import "SpeechSynthesisViewController.h"#import @property (nonatomic, strong) AVSpeechSy转载 2017-05-31 10:27:55 · 673 阅读 · 0 评论 -
iOS 之NSJSONReadingOptions说明
首先用代码来说明NSJSONReadingMutableContainers的作用: 1 NSString *str = @"{\"name\":\"kaixuan_166\"}"; 2 3 NSMutableDictionary *dict = [NSJSONSerialization JSONObjectWithData:[str dataUsingE转载 2017-04-28 16:19:01 · 441 阅读 · 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 · 2695 阅读 · 0 评论 -
iOS开发之获取系统相册中的图片与视频(内带url转换)
@话不多说,直接上代码[objc] view plaincopy#import // 必须导入 // 照片原图路径 #define KOriginalPhotoImagePath \ [[NSSearchPathForDirectoriesInDomains(NSCachesDirectory,转载 2017-03-06 09:15:27 · 1020 阅读 · 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 · 916 阅读 · 0 评论 -
iOS中UITextView遇到的问题总结
前言由于iOS中的UITextField不支持文本换行,所以在有换行需求时,我们只好用UITextView。以下是在使用UITextView时很容易遇到的一些问题。问题一:UITextView显示边框UITextView默认是没有边框颜色的,没有直接的属性来设置边框颜色。可以使用layer属性来解决,代码如下:[objc] view pl转载 2016-10-26 13:04:54 · 1292 阅读 · 0 评论 -
一篇比较好的KVO模式的解析与应用文章
一、概述KVO,即:Key-Value Observing,它提供一种机制,当指定的对象的属性被修改后,则对象就会接受到通知。简单的说就是每次指定的被观察的对象的属性被修改后,KVO就会自动通知相应的观察者了。KVO其实也是“观察者”设计模式的一种应用。我的看法是,这种模式有利于两个类间的解耦合,尤其是对于 业务逻辑与视图控制 这两个功能的解耦合。 二、引子转载 2016-10-24 10:33:36 · 465 阅读 · 0 评论 -
谓词(NSPredicate)
OC中的谓词操作是针对于数组类型的,他就好比数据库中的查询操作,数据源就是数组,这样的好处是我们不需要编写很多代码就可以去操作数组,同时也起到过滤的作用,我们可以编写简单的谓词语句,就可以从数组中过滤出我们想要的数据。非常方便。在Java中是没有这种技术的,但是有开源的框架已经实现了此功能。下面来看一下具体的例子吧:Person.h[objc]转载 2016-11-03 15:19:07 · 353 阅读 · 0 评论 -
iOS开发之直播App流程介绍,直播资料收集汇总,视频推流,视频拉流,SMTP、RTMP、HLS、 PLPlayerKit
(一) iOS 直播类APP开发流程分解: 1 . 音视频处理的一般流程:数据采集→数据编码→数据传输(流媒体服务器) →解码数据→播放显示1、数据采集:摄像机及拾音器收集视频及音频数据,此时得到的为原始数据涉及技术或协议:摄像机:CCD、CMOS拾音器:声电转换装置(咪头)、音频放大电路2、数据编码:使用相关硬件或软件对音视频原始数据进行编码处理(转载 2016-07-28 13:53:04 · 3049 阅读 · 0 评论 -
关于iOS多线程
在这篇文章中,我将为你整理一下 iOS 开发中几种多线程方案,以及其使用方法和注意事项。当然也会给出几种多线程的案例,在实际使用中感受它们的区别。还有一点需要说明的是,这篇文章将会使用Swift 和 Objective-c 两种语言讲解,双语幼儿园。OK,let's begin!概述这篇文章中,我不会说多线程是什么、线程和进程的区别、多线程有什么用,当然我也不会说什么是串行、什么是并行转载 2016-06-14 16:31:55 · 552 阅读 · 0 评论 -
iOS 万能跳转界面方法 (runtime实用篇一)
在开发项目中,会有这样变态的需求:推送:根据服务端推送过来的数据规则,跳转到对应的控制器feeds列表:不同类似的cell,可能跳转不同的控制器(嘘!产品经理是这样要求:我也不确定会跳转哪个界面哦,可能是这个又可能是那个,能给我做灵活吗?根据后台返回规则任意跳转?)思考:wocao!这变态的需求,要拒绝他吗?switch判断呗,考虑所有跳转的因素?这转载 2016-06-14 16:30:38 · 2092 阅读 · 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 · 965 阅读 · 0 评论 -
UIBezierPath精讲
基础知识使用UIBezierPath可以创建基于矢量的路径,此类是Core Graphics框架关于路径的封装。使用此类可以定义简单的形状,如椭圆、矩形或者有多个直线和曲线段组成的形状等。UIBezierPath是CGPathRef数据类型的封装。如果是基于矢量形状的路径,都用直线和曲线去创建。我们使用直线段去创建矩形和多边形,使用曲线去创建圆弧(arc)、圆或者其他复杂的转载 2016-01-29 13:45:20 · 468 阅读 · 0 评论 -
NSDate使用,NSDateFormatter转换,及DatePicker
取当前时间的秒数NSTimeInterval time = [[NSDate date] timeIntervalSince1970];long long int date = (long long int)time;NSLog(@”date\n%d”, date); //1295322949//把秒数转化成yyyy-MM-dd hh:mm:ss格式NSDate *dd = [原创 2016-03-23 16:54:27 · 894 阅读 · 0 评论 -
搜索栏UISearchBar和UISearchController
搜索栏的重要性我们就不说了,狼厂就是靠搜索起家的,现在越来越像一匹没有节操的狼,UC浏览器搜索栏现在默认自家的神马搜索,现在不管是社交,O2O还是在线教育等都会有一个搜索栏的实现,不过彼此实现效果是不一样的。iOS中的搜索栏实现起来相对简单一点,网上也有很多参考资料,不过靠谱的不是很多,很多都是iOS 8.0之前的实现,iOS 8.0上的实现貌似很少看到,看了一些老外的代码,使用了一下UISear转载 2015-12-23 11:19:56 · 688 阅读 · 0 评论 -
对MJRefresh的使用
支持哪些控件的刷新UIScrollView、UITableView、UICollectionView、UIWebView如何使用MJRefreshcocoapods导入:pod 'MJRefresh'手动导入:将MJRefresh文件夹中的所有文件拽入项目中导入主头文件:#import "MJRefresh.h"Base转载 2015-12-23 11:18:12 · 759 阅读 · 0 评论 -
iOS、mac开源项目及库汇总
UI下拉刷新EGOTableViewPullRefresh – 最早的下拉刷新控件。SVPullToRefresh – 下拉刷新控件。MJRefresh – 仅需一行代码就可以为UITableView或者CollectionView加上下拉刷新或者上拉刷新功能。可以自定义上下拉刷新的文字说明。具体使用看“使用方法”。 (国人写)XHRefreshCo原创 2016-03-02 13:44:09 · 3248 阅读 · 0 评论 -
判断字符串是否为空,是否含有表情
//// ViewController.m// TestDemo//// Created by 赵诣 on 16/1/27.// Copyright © 2016年 apple. All rights reserved.//#import "ViewController.h"@interface V原创 2016-01-27 17:45:44 · 688 阅读 · 0 评论 -
iOS两种检测网络状态的方法
今天写了两个检测网络状态的方法第一个:使用这种方法时一定要保证statusbar没有隐藏。如果你的App隐藏了statusbar,那么你也就不能通过这种方法获得网络状态。+ (NSString *)networkingStatesFromStatebar { // 状态栏是由当前app控制的,首先获取当前app UIApplication原创 2016-01-26 17:29:20 · 471 阅读 · 0 评论 -
很全的AlartView和AlertViewController用法
UIAlertView随着苹果上次iOS 5的发布,对话框视图样式出现在了我们面前,直到现在它都没有发生过很大的变化。下面的代码片段展示了如何初始化和显示一个带有“取消”和“好的”按钮的对话框视图。Objective-C版本:12UIAlertView *alertview = [[UIAlertView alloc] i转载 2016-01-25 18:07:21 · 5233 阅读 · 0 评论