iOS
Frank·Ming
逆水行舟,不进则退
展开
-
OC堆栈
Objective-C的对象在内存中是以堆的方式分配空间的,并且堆内存是由你释放的,即release栈由编译器管理自动释放的,在方法中(函数体)定义的变量通常是在栈内,因此如果你的变量要跨函数的话就需要将其定义为成员变量。1.栈区(stack):由编译器自动分配释放,存放函数的参数值,局部变量等值。其操作方式类似于数据结构中的栈。2.堆区(heap):一般由程序员分配释放,若程序员不释转载 2015-03-31 22:02:15 · 715 阅读 · 0 评论 -
iOS中tableview中headerview总保持在屏幕上方和随着屏幕滑动一起移动至消失
1 : tableview中headerview总保持在屏幕上方 : 在代理方法中创建view,并添加到headerview上l例子:- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{ if ([self.title isEqualToString转载 2015-04-22 16:00:21 · 2313 阅读 · 0 评论 -
多态和重载的区别
多态,面向对象特征之一,表现为不同对象调用相同方法会产生不同的结果。[A pushOutValue];//A的pushOutValue方法会输出A的名字。[B pushOutValue];//B的pushOutValue方法则会输出B的年龄。重载,函数特征之一,表现为在一个类中同名不同参的方法分别被调用会产生不同的结果。[A pushOutValue:@"name"];//原创 2015-04-07 22:15:43 · 1643 阅读 · 0 评论 -
完整单例模式(处理多线程并发和alloc重用的写法)
#import @interface GlobleManager : NSObject+ (GlobleManager*) sharedInstance;@end#import "GlobleManager.h"static GlobleManager *obj = nil; //第一步:静态实例,并初始化@implementation GlobleManager原创 2015-04-13 16:54:55 · 463 阅读 · 0 评论 -
iOS编程规范
编码规范一、文档结构管理1.建立Libraries文件夹,所有第三方库放入其中。2.建立Utilities文件夹,自已封装的类放入其中。3.建立Constants.h头文件,所有的常量定义于其中。Constants.h文件放入Main文件组里面。4.每个功能块放入一个Group,在目录里建立实际文件夹管理。5.程序资源文件放入Supporting Files文件夹中。如.p转载 2015-04-14 19:07:00 · 372 阅读 · 0 评论 -
iOS开发UI篇—UIScrollView控件介绍
iOS开发UI篇—UIScrollView控件介绍一、知识点简单介绍1.UIScrollView控件是什么?(1)移动设备的屏幕⼤大⼩小是极其有限的,因此直接展⽰示在⽤用户眼前的内容也相当有限(2)当展⽰示的内容较多,超出⼀一个屏幕时,⽤用户可通过滚动⼿手势来查看屏幕以外的内容(3)普通的UIView不具备滚动功能,不能显⽰示过多的内容(4)UIScrollView是一个能转载 2015-04-14 14:09:03 · 317 阅读 · 0 评论 -
UIViewController中各方法调用顺序及功能详解
UIViewController中loadView, viewDidLoad, viewWillUnload, viewDidUnload, viewWillAppear, viewDidAppear, viewWillLayoutSubviews,viewDidLayoutSubviews,viewWillDisappear, viewDidDisappear方法,按照调用顺序说明如下:转载 2015-04-14 17:21:31 · 530 阅读 · 0 评论 -
ios的AutoresizingMask
原文链接:http://hi.baidu.com/friendofsnowandsea/blog/item/6ee1f5d8a37d01f639012fdf.html在 UIView 中有一个autoresizingMask的属性,它对应的是一个枚举的值(如下),属性的意思就是自动调整子控件与父控件中间的位置,宽高。enum { UIViewAutoresizingNo转载 2015-04-14 11:57:31 · 330 阅读 · 0 评论 -
MMDrawerController抽屉侧边栏使用范例代码
//方法应放在AppDelegate中-(void)toMain{ //初始化中央视图VC [self tabBarControllerInit]; //初始化左边栏抽屉视图VC ALRankListViewController *leftViewController = [[ALRankListViewController allo原创 2015-04-15 11:26:57 · 2950 阅读 · 1 评论 -
iOS UIApplication的代理方法总结
1.简介1> 整个应用程序的象征,一个应用程序就一个UIApplication对象,使用了单例设计模式2> 通过[UIApplication sharedApplication]访问这个单例对象2.常见用法1> 设置图标右上角的红色提示数字app.applicationIconBadgeNumber = 10;2> 设置状态栏的样式app.statusBarStyle转载 2015-04-21 15:05:36 · 441 阅读 · 0 评论 -
UICollectionView介绍 (ver.i6)
1.1. Collection View全家福:UICollectionView, UITableView, NSCollectionViewn 不直接等效于NSCollectionViewn 也不替代UITableView----亲兄弟 为什么要使用Collection Views呢?n 可以高度定制内容的展现n 管理数据最佳的做法n 即使是处理转载 2015-04-21 15:07:48 · 669 阅读 · 0 评论 -
NSInteger取值范围
在64位机上代码测试了一下结果是:2015-04-21 19:46:54.046 here[2945:209062] 2的62次方是46116860184273879042015-04-21 19:46:54.046 here[2945:209062] 2的63次方减1是92233720368547758072015-04-21 19:46:54.047 here[2945:2原创 2015-04-21 19:47:35 · 11772 阅读 · 2 评论 -
OC 源生获取当前位置经纬度
#import @property(nonatomic,strong) CLLocationManager *locationManager;//arc下定位记得使用强引用。弱引用会导致开启定位提示过早被释放。//定位方法- (void)getLocation{ if (!_locationManager) { _locationManager原创 2015-04-27 18:20:21 · 1175 阅读 · 0 评论 -
后台播放音频
1.TARGETS-Capabilities-Background Modes设置为ON2.TARGETS-info 中添加key:“Required background modes”,然后将value选择“App plays audio or streams audio/video using AirPlay”正常情况下,完成这两个步骤应用就可以支持后台播放了。原创 2015-04-28 17:07:57 · 916 阅读 · 0 评论 -
IOS后台运行 之 后台播放音乐
感觉自己的做法貌似太简单,搜索了一下大神的写法,mark学习。转载自:http://www.iliunian.com/2831.htmliOS 4开始引入的multitask,我们可以实现像ipod程序那样在后台播放音频了。如果音频操作是用苹果官方的AVFoundation.framework实现,像用AvAudioPlayer,AvPlayer播放的话,要实现完美的后台音频播放,依据转载 2015-04-28 17:09:11 · 788 阅读 · 0 评论 -
iOS Core Animation 简明系列教程
目录(?)[-]iOS Core Animation 简明系列教程 1什么是Core Animation2我眼中的Core Animation3什么是CALayerCAAnimation31CALayer32 CAAnimation4 CABasicAnimation讲解41LayerkkLayer42 CAAnimationGroup43 addAnima转载 2015-05-04 18:57:01 · 421 阅读 · 0 评论 -
ios view的frame和bounds之区别(位置和大小)
前言:学习ios开发有一段时间了,项目也做了两个了,今天看视频,突然发现view的frame和bound两个属性,发现bound怎么也想不明白,好像饶你了死胡同里,经过一番尝试和思考,终于弄明白bound的含义。PS:我承认我是一个很笨很笨的人。所以现在记录下来,供以后查阅,同时方便所有和我一样有疑惑的人查看。一、首先列一下公认的资料:先看到下面的代码你肯定就明白了转载 2015-05-04 17:33:34 · 373 阅读 · 0 评论 -
KVC和KVO区别
KVO一,概述KVO,即:Key-Value Observing,它提供一种机制,当指定的对象的属性被修改后,则对象就会接受到通知。简单的说就是每次指定的被观察的对象的属性被修改后,KVO就会自动通知相应的观察者了。二,使用方法系统框架已经支持KVO,所以程序员在使用的时候非常简单。1. 注册,指定被观察者的属性,2. 实现回调方法3. 移除观察转载 2015-04-06 11:20:57 · 953 阅读 · 0 评论 -
NSSet和NSArray转化
//如果想set排序以后再取,可以这样:NSSet *users = [groupUser users];NSSortDescriptor *sd = [[NSSortDescriptor alloc] initWithKey:@"displayName" ascending:YES];NSArray *sortDescriptors = [NSArray arrayWithObjec转载 2015-04-22 23:22:09 · 1693 阅读 · 0 评论 -
Swift 2
Swift系列文章由CocoaChina翻译小组翻译自苹果的官方文档:The Swift Programming Language。本篇译者:葛布林大帝(博客)和 @numbbbbb(博客),校对:ChildhoodAndy 通常来说,编程语言教程中的第一个程序应该在屏幕上打印“Hello, world”。在 Swift 中,可以用一行代码实现: println转载 2015-03-31 21:51:01 · 508 阅读 · 0 评论 -
Swift 3
Swift系列文章由CocoaChina翻译小组翻译自苹果的官方文档:Using Swift with Cocoa and Objective-C。本篇译者:Creolophus(github主页),敬请勘误,欢迎讨论。重要事项这篇文章初步介绍了在开发中用到的API或技术。苹果公司提供这些信息来帮助您规划本文所说明的技术和接口以用于苹果的产品上。这些信息会改变,并且根据这篇转载 2015-03-31 21:52:30 · 398 阅读 · 0 评论 -
Swift 1
Swift系列文章由CocoaChina翻译小组翻译自苹果的官方文档:The Swift Programming Language。本篇译者:葛布林大帝(博客) 重要:本教程系列是针对开发过程中的API或者技术的初步文档。苹果提供该文档旨在为开发者使用该技术和苹果产品上的编程接口提供帮助。这些信息可能会发生变化,依据该文档开发的软件应该使用最终操作系统软件和文档转载 2015-03-31 21:42:32 · 395 阅读 · 0 评论 -
Swift 4
Swift系列文章由CocoaChina翻译小组翻译自苹果的官方文档:Using Swift with Cocoa and Objective-C--Mix and Match--Swift and Objective-C in the Same Project。本篇译者:haolloyin(github主页),敬请勘误,欢迎在CocoaChina github主页参看更多文章。转载 2015-03-31 21:53:41 · 524 阅读 · 0 评论 -
Swift6
只要你喜欢,你可以坐享keynote乐趣,兴奋的开始尝试所有最新的API。然后你可以竖起耳朵听新语言:Swift!它不是Objective-C的扩展,它是一门新的语言。你兴奋么?你开心么?也许你自己也不知道想什么。 Swift无疑将在未来改变我们编写的IOS和Mac应用的方式。在本文中,我简要概述一些Swift语言的亮点,并于Objective-C里对应的作对比。转载 2015-03-31 21:54:32 · 419 阅读 · 0 评论 -
TIOBE 2014年6月编程语言排行榜:Objective-C稳居第三,Swift暂未进行排名计算
在TIOBE 2014年6月编程语言排行榜中,C、java以及Objective-C稳居前三名。而开发者关注的热点是苹果在WWDC 2014上发布的新编程语言--Swift。 在本月举行的WWDC 2014上,苹果除了发布iOS 8和新一代桌面操作系统外,出人意料地推出了一门适用于iOS和OS X开发的新编程语言--Swift,无疑成为了今年开发者大会上的热点和亮点。不过目前Swi转载 2015-03-31 21:57:01 · 446 阅读 · 0 评论 -
IOS atomic与nonatomic,assign,copy与retain的定义和区别
atomic和nonatomic用来决定编译器生成的getter和setter是否为原子操作。 atomic 设置成员变量的@property属性时,默认为atomic,提供多线程安全。 在多线程环境下,原子操作是必要的,否则有可能引起错误的结果。加了atomic,setter函数会变成下面这样:转载 2015-03-31 22:01:00 · 313 阅读 · 0 评论 -
iOS 如何向App Store提交应用
当你克服重重困难终于开发出了自己的App,下一步就是向App Store提交应用了,这时应该如何操作呢?我的App真的准备好提交了?我敢肯定这些问题将会浮现在你的脑海。基于这篇教程,我将告诉你一个完整的提交过程。 推荐阅读:App Store提交上线和市场推广专题 介绍我们都知道苹果审核的过程就像是在“黑箱”操作,但这并不妨碍你为这个审核过程做一些事先的准备转载 2015-03-31 21:58:57 · 433 阅读 · 0 评论 -
真机测试流程,本人手打(傻瓜教程版本,企业开发者账号版本)
真机测试流程(傻瓜教程版本,企业开发者账号版本)一。第一步,下载调试发布证书未签名版本1.在http://developer.apple.com/devcenter/ios/index.action使用开发者账号进行登录2.选择Certificates,Identifiers&Profiles选项3.选择里面的Certificates的Develop原创 2015-03-31 21:57:39 · 833 阅读 · 0 评论 -
Swift 5
Swift系列文章由CocoaChina翻译小组翻译自苹果的官方文档:The Swift Programming Language。本篇译者:LIN-H(Github主页),敬请勘误,欢迎在CocoaChina github主页参看更多文章! 枚举类型常被用于实现特定类或结构体的功能。同样地,也能够在有多种变量类型的环境中方便地定义通用类或结构体。为了实现这种功能,Sw转载 2015-03-31 21:53:39 · 429 阅读 · 0 评论 -
Swift7
Swift系列文章由CocoaChina翻译小组翻译自苹果的官方文档:Using Swift with Cocoa and Objective-C--Migration--Migrating Your Objective-C Code to Swift。本篇译者:@xudeheng (git主页),敬请勘误,欢迎在 CocoaChina github主页 查看更多文章! 迁转载 2015-03-31 21:55:27 · 386 阅读 · 0 评论 -
Multipeer Connectivity.Framwork实战
[声明:本文为转载]Multipeer Connectivity Framework 是iOS 7 推出的众多新框架的一种,它拓宽了操作系统中应用的范围。其目的是使开发者可以创建通过Wi-Fi或蓝牙在近距离建立连接的应用。是在近距离设备间建立互动,交换数据和其他资源的很好的简单工具。继续我们的介绍,在看到例子之前我们有必要讨论一下Multipeer Connecti转载 2015-03-31 22:00:10 · 692 阅读 · 0 评论 -
OC多线程
1、简介:1.1 iOS有三种多线程编程的技术,分别是:1.、NSThread 2、Cocoa NSOperation (iOS多线程编程之NSOperation和NSOperationQueue的使用)3、GCD 全称:Grand Central Dispatch( iOS多线程编程之Grand Central Dispatch(GCD)介绍和使用)这三种编程方式从上到转载 2015-03-31 22:03:06 · 559 阅读 · 0 评论 -
GCD队列
GCD中有三种队列类型:The main queue: 与主线程功能相同。实际上,提交至main queue的任务会在主线程中执行。main queue可以调用dispatch_get_main_queue()来获得。因为main queue是与主线程相关的,所以这是一个串行队列。Global queues: 全局队列是并发队列,并由整个进程共享。进程中存在三个全局队列:高、中(默认)、低转载 2015-04-03 14:40:38 · 492 阅读 · 0 评论 -
Block
一.Block定义1.1定义(1)Block是OC中的一种数据类型,在iOS开发中被广泛使用(2)^是Block的特有标记(3)Block的实现代码包含在{}之间(4)大多情况下,以内联inline函数的方式被定义和使用(5)Block与C语言的函数指针有些相似,但使用起来更加灵活1.2示例代码?1234转载 2015-04-03 14:41:34 · 385 阅读 · 0 评论 -
iOS 获取当前正在显示的ViewController
我们在非视图类中想要随时展示一个view时,需要将被展示的view加到当前view的子视图,或用当前view presentViewController,或pushViewContrller,这些操作都需要获取当前正在显示的ViewController。[objc] view plaincopy//获取当前屏幕显示的viewcontroller - (UIVi转载 2015-04-03 17:01:34 · 420 阅读 · 0 评论 -
iOS隐藏UITableView多余分割线快速处理方法
在创建tableview的时候添加下面代码即可。原理:创建一个footview遮挡了剩余的分割线。self.tableView.tableFooterView=[[UIView alloc]init];原创 2015-04-10 15:29:12 · 453 阅读 · 0 评论 -
点击webView中链接,开系统safari,不在webView里面跳转
直接粘贴这段代码就行(别忘了实现UIWebViewDelegate)-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{ NSURL *reque原创 2015-10-10 14:46:57 · 2809 阅读 · 0 评论