自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 资源 (12)
  • 收藏
  • 关注

原创 OC与JS的交互

iOS开发免不了要与UIWebView打交道,然后就要涉及到JS与原生OC交互,今天总结一下JS与原生OC交互的两种方式。

2016-04-11 23:52:12 1565

原创 聊聊Block的内存管理那些事

Block可以作为函数参数或者函数的返回值,而其本身又可以带输入参数或返回值。它是对C语言的扩展,用来实现匿名函数的特性。

2016-03-31 18:05:16 755

转载 深入学习Objective-C语言的动态特性

Objective-C具有相当多的动态特性,基本的,也是经常被提到和用到的有动态类型(Dynamic typing),动态绑定(Dynamic binding)和动态加载(Dynamic loading)。   动态类型:动态类型能使程序直到执行时才确定对像所属的类。动态绑定:动态绑定则能使程序直到执行时才确定要对对象调用的实际方法。这些动态特性都是在Cocoa程序开发时非

2016-01-25 10:22:20 442

转载 nonnull, nullable

Nullability Annotations我们都知道在swift中,可以使用!和?来表示一个对象是optional的还是non-optional,如view?和view!。而在Objective-C中则没有这一区分,view即可表示这个对象是optional,也可表示是non-optioanl。这样就会造成一个问题:在Swift与Objective-C混编时,Swift编译器并不知道一

2016-01-20 15:06:14 522

转载 iOS使用NSMutableAttributedString 实现富文本(不同颜色字体、下划线等)

在iOS开发中,常常会有一段文字显示不同的颜色和字体,或者给某几个文字加删除线或下划线的需求。之前在网上找了一些资料,有的是重绘UILabel的textLayer,有的是用html5实现的,都比较麻烦,而且很多UILabel的属性也不起作用了,效果都不理想。后来了解到NSMuttableAttstring(带属性的字符串),上面的一些需求都可以很简便的实现。1.     实例化方法和使

2016-01-20 10:02:37 393

转载 iOS instancetype和id类型区别

iOS instancetype和id类型区别

2015-12-13 14:36:11 551

转载 NSString的内存分配及管理

本文参考了这篇文章,主要做了补充说明:http://www.cnblogs.com/hellocby/archive/2012/08/23/2652201.html生成一个NSString类型的字符串有三种方法:方法1.直接赋值:    NSString *testStr1 = @"a";方法2.类函数初始化生成:         NSString *testStr

2015-11-02 11:30:48 337

转载 堆跟栈、静态、常量理解

一、预备知识—程序的内存分配    一个由C/C++编译的程序占用的内存分为以下几个部分    1、栈区(stack)—   由编译器自动分配释放   ,存放函数的参数值,局部变量的值等。其    操作方式类似于数据结构中的栈。    2、堆区(heap)   —   一般由程序员分配释放,   若程序员不释放,程序结束时可能由OS回    收   。注意它与数据结构中的堆是两

2015-11-02 11:10:28 402

原创 ARC下属性对象实例对象内存释放时机

ARC下属性对象实例对象内存释放时机     在ARC的机制里,内存是由系统释放,ARC的一个基本规则即使,只要某个对象被任一strong指针指向,那么它将不会被销毁。如果对象没有被任何strong指针指向,那么就将被销毁。在默认情况下,所有的实例变量和局部变量都是strong类型的。可以说strong类型的指针在行为上和MRC时代retain的property是比较相似的,系统会在我们当前方

2015-11-01 00:53:39 4649

转载 NSString属性什么时候用copy,什么时候用strong?

我们在声明一个NSString属性时,对于其内存相关特性,通常有两种选择(基于ARC环境):strong与copy。那这两者有什么区别呢?什么时候该用strong,什么时候该用copy呢?让我们先来看个例子。示例我们定义一个类,并为其声明两个字符串属性,如下所示:1234@interface TestStringClass ()@property (no

2015-11-01 00:06:09 307

转载 XMPP协议错误码

302 重定向 尽管HTTP规定中包含八种不同代码来表示重定向,Jabber只用了其中一个(用来代替所有的重定向错误)。不过Jabber代码302是为以后的功能预留的,目前还没有用到400 坏请求 Jabber代码400用来通知Jabber客户端,一个请求因为其糟糕的语法不能被识别。例如,当一个Jabber客户端发送一个的订阅请求给它自己活发送一条没有包含“to”属性的消息

2015-10-29 09:10:35 329

转载 id ,NSObject, id<NSObject>区别

我们经常会混淆以下三种申明(我是没有留意过):    1. id foo1;    2. NSObject *foo2;    3. id foo3;    第一种是最常用的,它简单地申明了指向对象的指针,没有给编译器任何类型信息,因此,编译器不会做类型检查。但也因为是这样,你可以发送任何信息给id类型的对象。这就是为什么+alloc返回id类型,但调用[[Foo alloc]

2015-10-26 22:22:36 330

转载 Mavericks下如何安装Command Line Tools(命令行工具)

OS X 10.9 Mavericks正式发布,免费更新,立即去更新看看效果。不过升级后安装命令行工具(Command Line Tools)时发现官网没有clt的下载安装包了,原来改了,使用命令在线安装。打开终端,输入命令:xcode-select --install选择“安装”,然后同意安装协议。

2015-10-26 18:54:46 376

原创 ios使用xib自定义view, 在storyboard使用。

1.新建object-c类,从UIView继承2.新建一个同名xib文件,修改File's Owner的Custom Class为新建的自定义view类名(注意,视图类名不能填,只匹配File's Owner的Custom Class)3.自定义view中重写awakeFromNib方法-(void)awakeFromNib{    UIView *view = [[[NSBu

2015-10-25 17:33:41 855

转载 在xcode中修改整个项目名

总会遇到几个项目,在做到一半的时候被要求改项目名,网上找了下相关的资料,大多数是xcode5以前的版本,所以解决好了在这里mark一下,给需要的人。目标为:将项目名XCD4改成xcd5。先上结果图:==》 1.在左侧的导航区域点击两次项目名,两次间隔时间稍微长些,项目名会变成可编辑状态。将名称修改为xcd5后按enter键弹出一个对话框,这个时候放心

2015-10-23 21:12:05 297

转载 ios-AutoLayout(自动布局代码控制)简单总结

原理:IOS6.0之后,苹果优化了UI界面的布局方式,提出了自动布局的概念,和之前的autoresizing相比功能更强大。子视图基于父视图的自动布局显示。都是父视图去添加对子视图的约束。

2015-10-10 11:16:22 331

转载 iOS---XCode7 + IOS9 问题及解决方案

一,bitcodexcode7默认会开启bitcode 会导致第三方框架报错,下面是友盟的错误:libMobClickLibrary.a(MobClick.o)' does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an upd

2015-09-24 11:00:04 604

转载 动态计算UITableViewCell高度详解

不知道大家有没有发现,在iOS APP开发过程中,UITableView是我们显示内容常见的控件,本人觉得它是UIKit中最复杂的一个控件。今天要向大家介绍的就是如何动态计算UITableViewCell高度的一经验与技巧,在此做一些总结方便朋友们查阅。为了不让讲解空洞抽象,我还是用代码实例的方式进行讲解,这样更容易接收与学习。

2015-09-21 09:22:58 339

转载 IOS 6.0+ Autolayout — UITableViewCell 高度调整

要实现的效果要求:一般titleLabel 仅显示一行标题,高度为固定。imageview 大小也为固定。detailLabel 宽度固定,但高度根据文本动态调整。 cell 底部拒imageview 的底部以及detailLabel 底部高度都是大于等于20。当detailLabel文字很少时,cell底部拒imageview底部维持20,这时detailla

2015-09-21 09:12:32 423

转载 AutoLayout的三种设置方式之——NSLayoutConstraint代码篇

AutoLayout代码布局一中方式

2015-09-16 10:11:52 289

原创 带有下划线和动画效果的视图切换(addChildViewController)

了解addChildViewController用法,写了一个带有下划线效果的视图切换demxc9po,demo只是简单封装实现视图的切换。

2015-09-05 21:59:57 2185

转载 NSPredicate (可以帮助理解正则,数据库使用)

NSPredicate (可以帮助理解正则,数据库使用)

2015-08-31 14:32:23 306

转载 IOS之分析网易新闻存储数据(CoreData的使用,增删改查)

用过网易新闻客户端的朋友们都知道,获取新闻列表时有的时候他会请求网络有时候不会,查看某条新闻的时候再返回会标注已经查看的效果,接下来分析一下是如何实现的。首先:1、网易新闻用CoreData存储了新闻列表,因为我打开网易新闻的Documents时看到了三个文件:newsapp.sqlite,newsapp.sqlite-shm,newsapp.sqlit

2015-08-31 11:59:41 400

转载 数据库事务 ios FMDB

事务(Transaction)是并发控制的基本单位。所谓的事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。例如,银行转账工作:从一个账号扣款并使另一个账号增款,这两个操作要么都执行,要么都不执行。所以,应该把它们看成一个事务。事务是数据库维护数据一致性的单位,在每个事务结束时,都能保持数据一致性。       针对上面的描述可以看出,事务的提出主要是为了解

2015-08-28 10:43:31 413

原创 FMDatabase 的使用方法

#define myTable @"myTables" #define name @"name"#define age @"age"#define pic @"pic"@interface FMDataHelper ()@property (nonatomic, strong)FMDatabase *db;@end***1.数据库路径**

2015-08-28 10:38:17 331

转载 Cocoa Touch事件处理流程--响应者链

一、事件分类对于IOS设备用户来说,他们操作设备的方式主要有三种:触摸屏幕、晃动设备、通过遥控设施控制设备。对应的事件类型有以下三种:1、触屏事件(Touch Event)2、运动事件(Motion Event)3、远端控制事件(Remote-Control Event)今天以触屏事件(Touch Event)为例,来说明在Cocoa Touch框架中,事件的处理流程。首先不得

2015-08-25 13:30:34 567 1

原创 用正则表达式过滤出html中得 img标签,并且把URL链接给取出来

最近做项目要处理html数据,其中是过滤出当中的图片,网上找了很多办法都不是很好用,发现用正则可以实现这个需求,有错误欢迎大家提出,共同讨论写正则的方法,下面是实现代码。+ (NSArray *)filterTheImgUrlArrFromfahterHtml:(NSString *)html{    //]*>找img标签的正则    NSString *ss = @"]

2015-08-19 09:46:50 7069

转载 根据用户在tableview中点击(触摸)cell的自定义accessoryButton获得其indexpath

[button addTarget:self action:@selector(checkButtonTapped:event:) forControlEvents:UIControlEventTouchUpInside];  cell.accessoryView = button;  [java] view plaincopy"code" class="java">"

2015-08-18 10:15:54 428

转载 iOS7对UITableViewCell的层级改变

【现象】:在iOS6下将某个myView插入到cell的contentView底下,在iOS7上却没有效果。即在iOS7下调用:    [cell insertSubview:myView belowSubview:cell.contentView];方法后,myView却仍然在contentView的上面。【研究】:(实验1)insertSubview

2015-08-17 14:32:18 303

转载 打印CGRect时用NSStringFromCGRect

转载自:http://blog.sina.com.cn/s/blog_61235faa0100z0t9.htmlNSLog(@"%@",NSStringFromCGRect(pickerView.frame));或者CFShow(NSStringFromCGRect(pickerView.frame));打印 CGSize :NSLog(

2015-08-17 09:46:05 484

转载 UIScrollView 原理详解

ScrollView       UIScrollView     UIScrollView为了显示多于一个屏幕的内容或者超过你能放在内存中的内容。                 Scroll View为你处理缩小放大手势,UIScrollView实现了这些手势,并且替你处理对于它们的探测和回应。其中需要注意的子类是UITableView以及UITex

2015-08-07 10:27:22 292

转载 iOS App上架流程

前言:作为一名IOS开发者,把开发出来的App上传到App Store是必须的。下面就来详细介绍下具体流程。1.打开苹果开发者中心:https://developer.apple.com打开后点击:Member Center如果你的电脑没有保存密码,则会提示你输入开发者帐号和密码,因为我的电脑已经保存了,所以直接进入。2.点击:Certificates, Identifie

2015-07-23 10:08:03 322

转载 IOS使用正则表达式去掉html中的标签元素,获得纯文本

1content是根据网址获得的网页源码字符串NSRegularExpression*regularExpretion=[NSRegularExpressionregularExpressionWithPattern:@"]*>|\n"                                                                      

2015-06-16 15:32:37 680

转载 Objective-C 正则表达式的使用

前言:编程中,对于字符串的处理是无处不在的.时常需要在一堆乱码中找到有用的信息.比如在如下的字符串中获取有效的 URL 或 Emailababsdbasbdabdhttp://baidu.comtest@test.com诸如此类问题,我们都可以通过正则表达式来解决,正则在任意编程语言都有对应实现.iOS4 之后,Cocoa 也提供了用于正则的 NSRegularExpre

2015-06-16 15:28:48 882

转载 正则表达式语法

正则表达式语法:正则表达式基本匹配规则. : 匹配任意单个字符* : 匹配0到多个之前的子表达式+ : 匹配1到多个之前的子表达式? : 匹配之前的子表达式0次或1次;在*、+后添加?变成非贪婪模式,使尽早匹配后边的匹配模式| : 将匹配条件进行逻辑或运算{n} : 匹配子表达式确定的n次{n,} : 匹配子表达式至少n次{n,m} : 匹配子表达式至少

2015-06-16 15:21:44 373

转载 iOS 的 XMPPFramework 简介

XMPPFramework是一个OS X/iOS平台的开源项目,使用Objective-C实现了XMPP协议(RFC-3920),同时还提供了用于读写XML的工具,大大简化了基于XMPP的通信应用的开发。1. 登录和好友上下线1.1XMPP中常用对象们XMPPStream:xmpp基础服务类XMPPRoster:好友列表类XMPPRosterCoreDataSt

2014-12-19 15:37:08 405

转载 AFNetwork 作用和用法详解

//  //  MJViewController.m  //  03.AFN演练  //  //  Created by apple on 14-4-30.  //  Copyright (c) 2014年 itcast. All rights reserved.  //    #import "MJViewController.h"  #import "AFNetworking.h"    @i

2014-12-17 12:02:09 383

转载 IOS socket 通信机制的实现

socket 套接字, 是基于TCP UDP  协议的  一种通信机制,   它本身就是对TCP 和UDp 协议应用的一种管理iOS 中 socket 通信1,我们使用第三方库AsyncSocket 准备工作1,  把AsyncSocket  加入到我们的工程,   这个玩意 一般是手动的,  如果你使用的是自动的, 需要再变异的时候 添加 fno-objec-arc2

2014-11-24 23:12:00 2811

转载 苹果推送机制APNs(一)_原文转自_唐韧_Ryan

推送是解决轮询所造成的流量消耗和电量消耗的一个比较好的解决方案,在Android上,虽然Google提供了GCM(之前为C2DM),但在国内基本等于没用,各大Android应用基本都自己架设推送Server或是使用第三方推送平台,例如新浪微博使用第三方推送平台“个推”(非广告)。今天要学习的是苹果提供的推送服务APNs(Apple Push Notification services)基本原理

2014-11-18 21:47:59 573 1

原创 ViewController生命周期内各个函数的调用次序

init-初始化程序loadView:没有正在使用nib视图页面,子类将会创建自己的自定义视图层(Controller的view,在loadView里创建)viewDidLoad:试图被加载后调用viewWillAppear-UIViewController对象的视图即将加入窗口时调用;viewWillLayoutSubviews:布

2014-11-15 13:24:44 498

AF2.0多任务下载

AF2.0多任务下载

2015-12-23

MKMapKit系统地图

MKMapKit系统地图,定位,编码,大头针等.

2015-12-13

多选删除0积分

tableView系统方法多选删除,也带有左滑动删除,tableView的系统方法,简单方便。

2015-12-13

MKMapKit系统地图相关demo

地图,大头针,定位编码反编码,苹果地图导航;

2015-12-13

表头拉伸导航条渐变修改

表头拉伸导航条渐变修改.zip

2015-12-10

table表头拉伸效果,导航栏自动隐藏

table表头拉伸效果,导航栏自动隐藏,代码简单,可以直接使用。

2015-12-03

定时器无限轮播图demo,左右无限轮播,定时器自动播放。

定时器无限轮播图demo,左右无限轮播,定时器自动播放。

2015-11-06

tableView系统方法多选删除

tableView系统方法多选删除,也带有左滑动删除,tableView的系统方法,简单方便。

2015-11-05

IOS—使用Storyboard进行界面跳转及传值

一、使用Storyboard进行跳转 1)纯Storybard界面操作 2)使用代码进行跳转 二、Storyboard界面传值 1)使用prepareForSegue方法进行跳转: 2)Storyboard Id跳转

2015-10-18

IOS开发-使用Storyboard进行界面跳转及传值

一、使用Storyboard进行跳转 1)纯Storybard界面操作 2)使用代码进行跳转 二、Storyboard界面传值 1)使用prepareForSegue方法进行跳转: 2)Storyboard Id跳转

2015-10-18

带有下划线和动画效果的视图切换(addChildViewController)

了解addChildViewController用法,写了一个带有下划线效果的视图切换demxc9po,demo只是简单封装实现视图的切换。

2015-09-05

CoreData例子

使用CoreData实现插入数据查询数据的demo,欢迎下载交流。

2015-08-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除