![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ios笔记
文章平均质量分 59
duanyp819
这个作者很懒,什么都没留下…
展开
-
iOS开发UI篇—UITabBarController简单介绍
一、简单介绍UITabBarController和UINavigationController类似,UITabBarController也可以轻松地管理多个控制器,轻松完成控制器之间的切换,典型的例子就是QQ、微信等应⽤。 二、UITabBarController的使用1.使用步骤:(1)初始化UITabBarController(2)设置UIWindo转载 2016-06-15 10:45:36 · 195 阅读 · 0 评论 -
错误记录 --关于错误perhaps the designated entry point is not set的解决方法
关于错误perhaps the designated entry point is not set的解决方法[摘要:毛病: Failed to instantiate the default view controller for UIMainStoryboardFile 'Main' - perhaps the designated entry point is not set? 涌转载 2016-04-22 16:37:23 · 1096 阅读 · 0 评论 -
iOS开发系列--触摸事件、手势识别、摇晃事件、耳机线控
概览iPhone的成功很大一部分得益于它多点触摸的强大功能,乔布斯让人们认识到手机其实是可以不用按键和手写笔直接操作的,这不愧为一项伟大的设计。今天我们就针对iOS的触摸事件(手势操作)、运动事件、远程控制事件等展开学习:iOS事件简介触摸事件手势识别运动事件远程控制事件iOS事件在iOS中事件分为三类:触摸事件:通过触摸、手势进行触发(例如手指点击、缩放)转载 2016-05-17 21:26:18 · 348 阅读 · 0 评论 -
objective-c 属性修饰符
strong和copy的区别问题描述在定义一个类的property时候,为property选择strong还是copy特别注意和研究明白的,如果property是NSString或者NSArray及其子类的时候,最好选择使用copy属性修饰。为什么呢?这是为了防止赋值给它的是可变的数据,如果可变的数据发生了变化,那么该property也会发生变化。代码示例还是结合代转载 2016-04-22 11:32:06 · 398 阅读 · 0 评论 -
iOS开发之视图控制器(UIViewController)
视图控制器应该在MVC设计模式中扮演控制层(C)的角色,UIViewController的职责对内管理与之关联的View,对外跟其他UIViewController通信和协调。一个视图控制器管理一个视图(它可以有子视图),其view属性指向它所管理的视图。UIViewController类可以有子类,可以使用一个系统的UIViewController子类或者直接自己创建一个UIViewContro转载 2016-05-16 20:41:14 · 261 阅读 · 0 评论 -
app 启动原理
文顶顶最怕你一生碌碌无为 还安慰自己平凡可贵iOS开发UI篇—程序启动原理和UIApplicationiOS开发UI篇—程序启动原理和UIApplication 一、UIApplication1.简单介绍(1)UIApplication对象是应用程序的象征,一个UIApplication对象就代表一个应用程序。(2)每一个应用都有转载 2016-04-20 20:59:55 · 267 阅读 · 0 评论 -
iOS开发系列--视图切换
概述在iOS开发中视图的切换是很频繁的,独立的视图应用在实际开发过程中并不常见,除非你的应用足够简单。在iOS开发中常用的视图切换有三种,今天我们将一一介绍:UITabBarControllerUINavigationController模态窗口UITabBarControlleriOS三种视图切换的原理各不相同:UITabBarController:以平行转载 2016-05-15 19:25:21 · 234 阅读 · 0 评论 -
iOS开发系列--UITableView全面解析
概述在iOS开发中UITableView可以说是使用最广泛的控件,我们平时使用的软件中到处都可以看到它的影子,类似于微信、QQ、新浪微博等软件基本上随处都是UITableView。当然它的广泛使用自然离不开它强大的功能,今天这篇文章将针对UITableView重点展开讨论。今天的主要内容包括:基本介绍数据源代理性能优化UITableViewCell常用操作UITableViewCo转载 2016-05-15 18:52:24 · 206 阅读 · 0 评论 -
malloc和free
本文介绍malloc和free函数的内容。 在C中,对内存的管理是相当重要。下面开始介绍这两个函数: 一、malloc()和free()的基本概念以及基本用法:1、函数原型及说明:void *malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针。如果分配失败,则返回一个空指针(NULL)。转载 2016-05-07 13:56:40 · 186 阅读 · 0 评论 -
Objective-C 类别(category)和扩展(Extension)
1、类别(category)使用Object-C中的分类,是一种编译时的手段,允许我们通过给一个类添加方法来扩充它(但是通过category不能添加新的实例变量),并且我们不需要访问类中的代码就可以做到,这点和javascript中使用原型来定义属性有点类似。我们可以为一个类创建一个新的方法,而不需要在代码中编辑类定义。下面就是定义并使用分类的例子程序,通过下面代码,我们可转载 2016-04-23 10:22:09 · 392 阅读 · 0 评论 -
利用dispatch_once创建单例
无论是爱还是恨,你都需要单例。实际上每个iOS或Mac OS应用都至少会有UIApplication或NSApplication.什么是单例呢?Wikipedia是如此定义的:在软件工程中,单例是一种用于实现单例的数学概念,即将类的实例化限制成仅一个对象的设计模式。或者我的理解是:单例是一种类,该类只能实例化一个对象。 尽管这是单例的实际定义,转载 2016-04-23 10:32:31 · 208 阅读 · 0 评论 -
iOS开发网络篇—HTTP协议
一、URL1.基本介绍URL的全称是Uniform Resource Locator(统一资源定位符)通过1个URL,能找到互联网上唯一的1个资源URL就是资源的地址、位置,互联网上的每个资源都有一个唯一的URL 2.URL中常见的协议(1)HTTP超文本传输协议,访问的是远程的网络资源,格式是http://http协转载 2016-06-13 20:36:12 · 329 阅读 · 0 评论 -
IOS中延时执行的几种方式的比较和汇总
本文列举了四种延时执行某函数的方法及其一些区别。假如延时1秒时间执行下面的方法。- (void)delayMethod { NSLog(@"execute"); }1.performSelector方法[self performSelector:@selector(delayMethod) withObject:nil afterDelay:1.0f];此方式要求必须在主线转载 2016-06-12 19:13:08 · 163 阅读 · 0 评论 -
iOS之线程间通信
Cocoa为iOS线程间通信提供2种方式,1种是performSelector,另1种是Port。 先说第1种,performSelector,有以下几种: 第2种为NSMachPort方式。NSPort有3个子类,NSSocketPort、NSMessagePort、NSMachPort,但在iOS下只有NSMachPort可用。 使用的方转载 2016-06-12 16:06:46 · 269 阅读 · 0 评论 -
NSThread的简单使用
在ios开发过程中,经常会遇到在服务器端获取完数据通过后台使用多线程方式自动更新UI,通常的做法有两种:1、使用NSObject类的方法performSelectorInBackground:withObject:来创建一个线程。具体的代码:[Object performSelectorInBackground:@selector(doSomething:) withObj转载 2016-06-12 10:45:36 · 233 阅读 · 0 评论 -
IOS 委托代理(delegate)实现页面传值
委托是指给一个对象提供机会对另一对象中的变化做出反应或者相应另一个对象的行为。其基本思想是协同解决问题。在程序中:一般情况下1.委托需要做的工作有: 1.1定义协议与方法 1.2声明委托变量 1.3设置代理 1.4通过委托变量调用委托方法2.代理需要做的工作有: 2.1遵循协议 2转载 2016-06-04 15:36:51 · 227 阅读 · 0 评论 -
IOS实现单例模式的几种实现方法
1.经典方法[objc] view plain copystatic CUser * gUser = nil; +(id)currentUser { if(gUser == nil) gUser = [[self.class alloc]init]; return gUser;转载 2016-05-19 11:35:30 · 232 阅读 · 0 评论 -
iOS开发系列--UITableView全面解析
概述在iOS开发中UITableView可以说是使用最广泛的控件,我们平时使用的软件中到处都可以看到它的影子,类似于微信、QQ、新浪微博等软件基本上随处都是UITableView。当然它的广泛使用自然离不开它强大的功能,今天这篇文章将针对UITableView重点展开讨论。今天的主要内容包括:基本介绍数据源代理性能优化UITableViewCell常用操作UITableViewCo转载 2016-05-18 22:22:42 · 242 阅读 · 0 评论 -
NSUserDefaults简介及使用
NSUserDefaults对象是用来保存,恢复应用程序相关的偏好设置,配置数据等等我们可以存储NSData,NSString,NSNUmber,NSDate,NSArray,NSDictionary这些实例。如果你想存储其他类 型的对象,你要将其归档并创建一个NSData来实现存储。从NSUserDefaults返回的值是不可改变的,即便是你在存储的时候使用的是可变的值。转载 2016-04-23 13:21:04 · 227 阅读 · 0 评论 -
iOS开发系列--无限循环的图片浏览器
概述UIKit框架中有大量的控件供开发者使用,在iOS开发中不仅可以直接使用这些控件还可以在这些控件的基础上进行扩展打造自己的控件。在这个系列中如果每个控件都介绍一遍确实没有必要,所谓授人以鱼不如授人以渔,这里会尽可能让大家明白其中的原理,找一些典型的控件进行说明,这样一来大家就可以触类旁通。今天我们主要来看一下UIScrollView的内容:UIViewUIScrollView实转载 2016-05-15 17:22:51 · 215 阅读 · 0 评论 -
iOS开发系列--IOS程序开发概览
概览终于到了真正接触IOS应用程序的时刻了,之前我们花了很多时间去讨论C语言、ObjC等知识,对于很多朋友而言开发IOS第一天就想直接看到成果,看到可以运行的IOS程序。但是这里我想强调一下,前面的知识是你日后开发IOS的基础,没有那些知识你开发IOS会很痛苦,现在很多开发人员做开发都是一知半解,程序质量确实令人担忧,所以还是希望大家能够熟练掌握前面的内容,开发过程中多思考,彻底理解程序运转载 2016-05-15 16:19:16 · 284 阅读 · 0 评论 -
iOS开发系列--Objective-C之KVC、KVO
概述由于ObjC主要基于Smalltalk进行设计,因此它有很多类似于Ruby、Python的动态特性,例如动态类型、动态加载、动态绑定等。今天我们着重介绍ObjC中的键值编码(KVC)、键值监听(KVO)特性:键值编码KVC键值监听KVO键值编码KVC我们知道在C#中可以通过反射读写一个对象的属性,有时候这种方式特别方便,因为你可以利用字符串的方式去动态控制一个对转载 2016-05-15 15:55:20 · 149 阅读 · 0 评论 -
GCD 深入理解:第二部分
欢迎来到GCD深入理解系列教程的第二部分(也是最后一部分)。在本系列的第一部分中,你已经学到超过你想像的关于并发、线程以及GCD 如何工作的知识。通过在初始化时利用dispatch_once,你创建了一个线程安全的 PhotoManager 单例,而且你通过使用 dispatch_barrier_async 和dispatch_sync 的组合使得对 Photos 数组的读取和写入都变得线转载 2016-04-28 16:05:28 · 426 阅读 · 0 评论 -
GCD 深入理解(一)
本文由@nixzhu翻译至raywenderlich的《grand-central-dispatch-in-depth-part-1》虽然 GCD 已经出现过一段时间了,但不是每个人都明了其主要内容。这是可以理解的;并发一直很棘手,而 GCD 是基于 C 的 API ,它们就像一组尖锐的棱角戳进 Objective-C 的平滑世界。我们将分两个部分的教程来深入学习 GCD 。 在这两部转载 2016-04-28 15:52:43 · 221 阅读 · 0 评论 -
内存泄漏检查方法
虽然iOS 5.0版本之后加入了ARC机制,由于相互引用关系比较复杂时,内存泄露还是可能存在。所以了解原理很重要。这里讲述在没有ARC的情况下,如何使用Instruments来查找程序中的内存泄露,以及NSZombieEnabled设置的使用。本文假设你已经比较熟悉Obj-C的内存管理机制。实验的开发环境:XCode 4.5.21、运行Demo。先下载一个实现准转载 2016-04-25 20:21:35 · 225 阅读 · 0 评论 -
GCD
iOS多线程编程之Grand Central Dispatch(GCD)介绍和使用2012-09-25 16:22 98558人阅读 评论(38) 举报 分类: iOS开发进阶(18) 版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]介绍:Grand Central Dispat转载 2016-04-25 19:52:54 · 198 阅读 · 0 评论 -
OC-BLOCK
代码块本质上是和其他变量类似。不同的是,代码块存储的数据是一个函数体。使用代码块是,你可以像调用其他标准函数一样,传入参数数,并得到返回值。脱字符(^)是块的语法标记。按照我们熟悉的参数语法规约所定义的返回值以及块的主体(也就是可以执行的代码)。下图是如何把块变量赋值给一个变量的语法讲解:按照调用函数的方式调用块对象变量就可以了:int result = myB转载 2016-04-25 16:43:11 · 180 阅读 · 0 评论 -
OC字符串
Objective-C里核心的处理字符串的类就是NSString和NSMutableString这两个类,这两个类完成了Objective-C中字符串大部分功能的处理。这两个类的最主要的区别是NSString创建赋值后不能动态修改长度和内容,除非给重新赋值。而NSMutableString类似与链表的,在创建赋值后可以进行修改长度,插入,删除等操作。注:以下代码运行环境是:XCode 4.转载 2016-04-25 16:24:37 · 154 阅读 · 0 评论 -
数据类型 oc
2 、C语言的基本数据类型长度[cpp] view plain copy NSLog(@"The size of an int is: %lu bytes.",sizeof(int)); NSLog(@"The size of a short int is: %lu bytes.",sizeof(short int)); NSLog(@"The size of a转载 2016-04-25 16:16:36 · 190 阅读 · 0 评论 -
Cocoa框架是
Cocoa框架是iOS应用程序的基础,了解Cocoa框架,对开发iOS应用有很大的帮助。1、Cocoa是什么?Cocoa是OS X和 iOS操作系统的程序的运行环境。是什么因素使一个程序成为Cocoa程序呢?不是编程语言,因为在Cocoa开发中你可以使用各种语言;也不是开发工具,你可以在命令行上就可以创建Cocoa程序。Cocoa程序可以这么说,它是由一些对象组成,而这些对象的转载 2016-04-25 16:04:14 · 268 阅读 · 0 评论 -
IOS 消息机制(NSNotificationCenter)
消息机制 NSNotificationCenter 一直都在频繁使用,但是却对其原理不是十分了解。今天就花些时间,把消息机制原理重头到尾好好过一遍。iOS 提供了一种 "同步的" 消息通知机制,观察者只要向消息中心注册, 即可接受其他对象发送来的消息,消息发送者和消息接受者两者可以互相一无所知,完全解耦。这种消息通知机制可以应用于任意时间和任何对象,观察者可以有多个,所以消息具有广转载 2016-04-28 19:26:55 · 321 阅读 · 0 评论 -
iOS 关于枚举的使用
引言:枚举值 它是一个整形(int) 并且,它不参与内存的占用和释放,枚举定义变量即可直接使用,不用初始化.在代码中使用枚举的目的只有一个,那就是增加代码的可读性.使用:枚举的定义如下:[csharp] view plain copytypedef enum { //以下是枚举转载 2016-04-28 21:32:25 · 302 阅读 · 0 评论 -
Objective-C:利用typedef为Block进行重命名
我们可以使用typedef为block进行一次重命名,方法跟为函数指针进行重命名是一样的:typedef int (^Sum) (int, int);这样我们就利用typedef定义了一个block,这个block的名字就是Sum,需要传入两个参数。当我们需要使用时,就可以这样做了:Sum转载 2016-04-28 21:53:49 · 1222 阅读 · 0 评论 -
iOS开发系列—Objective-C之Foundation框架
概述我们前面的章节中就一直新建Cocoa Class,那么Cocoa到底是什么,它和我们前面以及后面要讲的内容到底有什么关系呢?Objective-C开发中经常用到NSObject,那么这个对象到底是谁?它为什么又出现在Objective-C中间呢?今天我们将揭开这层面纱,重点分析在IOS开发中一个重要的框架Foundation,今天的主要内容有:Foundation概述常用结构体转载 2016-05-15 15:26:55 · 207 阅读 · 0 评论 -
runtime-ios
什么是runtime?runtime直译就是运行时间,run(跑,运行) time(时间),网上大家都叫它运行时,它是一套比较底层的纯C语言API,属于一个C语言库,包含了很多底层的C语言API,它是OC的幕后工作者,我们平时写的OC代码,在运行过程时,都会转为runtime的C语言代码runtime有什么用?如果你之前不知道runtime,可能觉得它没什么用,其实他的作用转载 2016-05-04 15:47:13 · 149 阅读 · 0 评论 -
foundation常用类笔记
Foundation框架中常用的类有:NSString、NSArray、NSSet、NSDictionary 以及它们对应的子类 NSMutableString、NSMutableArray、NSMutableSet、NSMutableDictionary,父类统一为不可变而子类可变,还包括NSDate、NSObject可变和不可变的区别是对象内容的可变和不可变,子类既然是继承转载 2016-04-19 14:49:56 · 262 阅读 · 0 评论 -
cocoapod 使用
使用CocoaPodsa 新建一个项目,名字PodTestb 终端中,cd到项目总目录(注意:包含PodTest文件夹、PodTest.xcodeproj、PodTestTest的那个总目录)[objc] view plaincopyprint?cd /Users/lucky/Desktop转载 2016-05-03 21:30:20 · 219 阅读 · 0 评论 -
GET/POST
Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。 1转载 2016-05-03 17:22:58 · 252 阅读 · 0 评论 -
LLDB 调试技巧总结
前言在开发中一定需要到调试跟踪,但是很多开发者虽然做过很多的项目,但是未必了解开发中有哪些调试命令可以帮助我们开发者更快更好地定位到问题所在。本篇文章主要是讲解在开发中如何利用LLDB来Debug。首先会讲一些基础知识,主要是帮助新手们学习如何去调试。对于一些比较高级的操作,不会也没有关系,但是如果能够掌握得了的话,会更方便更快速地查找问题。初步认识LLDBLLDB转载 2016-05-03 16:18:45 · 312 阅读 · 0 评论 -
json 解析 -转载
json和xml的普及个人觉得是为了简化阅读难度,以及减轻网络负荷,json和xml 数据格式在格式化以后都是一种树状结构,可以树藤摸瓜的得到你想要的任何果子。而不格式化的时候json和xml 又是一个普普通通的字符串,在网络通信的时候也只需要请求一次,而不用每次为得到木一个值而重复的请求服务器或者目标主机,json和xml 都采用 键 - 值 的形式来存放数据。xml 使转载 2016-04-18 11:54:12 · 204 阅读 · 0 评论