![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
iOS
文章平均质量分 61
骑着乌龟的蜗牛
one meter in the sunlight.
展开
-
【iOS知识学习】_iPhone学习访问联系人
为了能够访问通讯录数据库,苹果开放了一些专门的API,iOS 6 之后应用访问通讯录,需要获得用户授权,通讯录对一个应用只授权一次,即使应用删除后重装,也不必再次授权。一、主要框架AddressBook、AddressBookUIAddressBook框架主要提供了直接访问通讯录中的记录和属性API,使用这些API,需要自己构建UI界面。AddressBookUI框架提供了原创 2016-09-09 10:37:45 · 372 阅读 · 0 评论 -
网络、解析
网络,json,xml通过NSURLConnection实现网络数据下载通过NSURLConnection这个类来创建一个异步的请求NSURLconnection提供了两种方式来实现链接,一种是同步的,另一种是异步的。异步的链接将会创建一个新的线程,这个线程将会来负责下载的动作。同步的链接将会堵塞当前线程,也就是说会造成当前的主线程堵塞,直到这个同步的线程运行完毕将转载 2014-03-04 15:51:08 · 665 阅读 · 2 评论 -
属性传值与代理传值
MVC通过控制中心C来完成信息的传递。常用的方式有,属性传值、代理传值、单例传值以及通过通知中心传值。视图对象负责展示数据,通常它不会存储数据。数据存储在控制器中,视图通常会让控制器成为自己的委托,在显示数据时调用其委托中相应地方法。为了降低类之间的耦合度,经常使用委托模式来进行传值。委托模式涉及到协议。如下例子:协议#import @pro原创 2013-11-25 00:26:40 · 544 阅读 · 0 评论 -
Http网络请求和连接类型
对于网络请求类型有两种形式GEt、POST区别:get操作简单,所有参数直接写到地址中post操作复杂,将参数和地址分开来写get请求安全性不如post形式get请求URL地址长度有限:只支持最多255个字符,post请求可以传递大量数据:上传没有大小限制。网络连接的类型分为同步连接和异步连接同步连接:UI(UserInterface)冻结,用户体验差。异步连接原创 2013-11-24 18:45:06 · 1046 阅读 · 0 评论 -
初识Objecive-C 之 键值编码(KVC)
KVC:Key-Value-Coding 通过存取方法,属性或直接设置实例变量来直接更改对象状态。也可以通过字符串描述来更改对象状态,这种方式称为键值编码。键值编码基本调用包括setValue:ForKey:和valueForKey:两个方法setValue:ForKey:方法以字符串形式向对象发送消息、第一个参数为OC对象值;第二个参数为字符串,是对象的属性名称或者实例变量名称。原创 2013-10-24 18:19:48 · 699 阅读 · 0 评论 -
将来的你,将会感谢现在努力拼搏奋斗的自己------学习计划。
概述:总是漫无目的学习,时间过的很快,不知不觉中一天的时间就过了。躺在床上想着今天都做了什么,零碎零碎中拼凑出来,原来你还有事情忘记做了。你的api文档读了么?你的预习做了么?你的播客写了么?你的复习做了么?你的课后作业做了么?你的知识巩固了么?那你今天都做了什么?!!!计划:早上 相关单词要读、要背。7:00-8:30(没资本你还不早起?不聪明你原创 2013-10-17 18:14:31 · 958 阅读 · 0 评论 -
初识Objecive-C 之 NSDictionary
1、字典的概述字典是键值对组成的数据集合。正如我们在字典查找单词的定义一样。在字典对象中,key的值必须是唯一的。并且不为空(nil)为了表示空值,你可以用NSNull表示。2、字典的初始化 //初始化字典 NSDictionary *dic1 = [NSDictionarydictionaryWithObject:@"value1"for原创 2013-10-17 17:02:43 · 743 阅读 · 0 评论 -
初识Objecive-C 之 多态不得不说的故事
1、什么是多态呢?多态就是...譬如某一天动物园的管理员给让老虎、狗、和猪咆哮,谁咆哮的好听就给谁吃肉,于是它们就开始咆哮了,老虎:“AOOOOO...”,狗:“wangwangwang”,猪:“henghengheng”。我们不管谁叫得好听,得到管理员同样的命令,三只动物用不同的方法咆哮,这久是多态:实现同一个接口,使用不同的实例而执行不同得操作。2、把不同得子类对象当做父类来看多态原创 2013-10-14 20:19:38 · 651 阅读 · 0 评论 -
初识Objecive-C 之 NSString
一、字符串的初始化 //创建一个字符串常量 NSString *string1 = @"Mylove"; //创建一个空的字符创 NSString *string2 = [[NSStringalloc] init]; NSString *string3 = [NSStringstring];原创 2013-10-16 18:38:52 · 695 阅读 · 0 评论 -
初识Objecive-C 之 继承
1、继承的特性①传递性:不在同一继承树分支上的两个类就不会存在继承关系,比如狗和猫②is-a:也就是子类和父类需要满足is-a的关系,is-a可以理解为“是一个”,比如 猫是一个动物,反过来动物是猫明显答案是否定的,但是继承也要满足单一继承,比如 猫是猫科动物、动物,它不能同时继承猫科动物、动物③子类可以继承父类的属性和方法,子类还可以拓展出自己的特殊属性和方法2、为何要使用继承呢原创 2013-10-13 14:58:22 · 769 阅读 · 0 评论 -
Xcode中提示代码前缀
C:表示 类F:表示 函数G:表示 全局变量K:表示 枚举、常量M:表示 成员方法P:表示 协议T:表示 typedef类型V:表示 成员变量#:表示 #define 宏原创 2013-10-12 22:29:51 · 1036 阅读 · 0 评论 -
给UIImageview 添加边框 或者设置成圆角
//设置layer CALayer *layer=[backView layer]; //是否设置边框以及是否可见 [layer setMasksToBounds:YES]; //设置边框圆角的弧度 [layer setCornerRadius:10.0]; //设置边框线的宽 [layer setB转载 2014-01-20 16:45:14 · 664 阅读 · 0 评论 -
初识Objecive-C 之 单例模式
单例:保证一个类仅有一个实例,并提供一个访问它的全局访问点。它经常用于设计约束或者为了控制对有限资源的访问。单例模式的思路是:一个类只能创建一个实例(永远是同一个)和一个活的该实例的方法(必须是类方法,通常使用getInstance)。单例的实现:#import "HeadMaster.h"/* 创建一个校长类实现单例模式 1、为单例对象创建一个全局静态原创 2013-10-26 18:59:00 · 748 阅读 · 0 评论 -
OC中 #include、#import、@class 区别
#include 区分 #include 与#include "x.h"的作用 #include :它用于对系统自带的头文件的引用,编译器会在系统文件目录下去查找该文件. #include "x.h":用户自定义的文件用双引号引用,编译器首先会在用户目录下查找,然后到安装目录中查找,最后在系统文件中查找。 在使用#i转载 2013-10-12 12:58:35 · 757 阅读 · 0 评论 -
视图控制器的生命周期
#import "ViewController.h"@interface ViewController ()@end@implementation ViewController//使用IB创建视图时,Controller 的 view 需要使用此方法初始化- (id)initWithNibNam原创 2013-11-23 18:41:34 · 992 阅读 · 0 评论 -
【iOS知识学习】_iPhone学习基于UIKeyboardTypeDecimalPad(数字键盘+小数点)
这个键盘并没有对小数点进行限制,如果自定义键盘会比较麻烦 如以pad键盘为例也需要较多的代码 只需要点的完美解决方式。不喜勿喷!- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{ NSC原创 2016-01-17 16:05:31 · 2596 阅读 · 0 评论 -
iOS 发布证书申请
概述由于苹果的机制,在非越狱机器上安装应用必须通过官方的Appstore,开发者开发好应用后上传Appstore,也需要通过审核等环节。AppCan不仅能实现跨平台开发,也支持上传ipa包至Appstore。本文从三个流程来介绍如何通过AppCan在线编译出ipa包并上传至苹果Appstore。一.事前准备1.1 准备苹果帐号首先您需要有一个苹果的开发者帐号转载 2015-09-25 16:05:56 · 402 阅读 · 0 评论 -
【iOS知识学习】_iPhone学习四舍五入函数
(NSInteger)round(float或者double类型的数据)转载http://blog.csdn.net/zhangkongzhongyun/article/details/22065607转载 2015-07-16 13:52:44 · 368 阅读 · 0 评论 -
IOS开发中(null)与<null>的处理
不小心在开发过程中,得到了(null)以及的返回值,找了好长时间只找到了一个关于的。由于要根据返回值进行判断,做出必要反应,因此必须知道返回值所代表的具体字符,在得到(null)后利用isEqual:和@“”,NULL,@“(null)”,nil,Nil比较后均得不到正确结果,弄得不知所措了,但是还是感觉像nil,不得已,创建一个字符串,赋值为nil,打印输出,果然是(null),想不通的转载 2015-06-25 22:27:09 · 381 阅读 · 0 评论 -
【iOS知识学习】_iPhone开发必经
iphone iOS4从注册到app上线开发流程http://blog.csdn.net/linzhiji/article/details/6732868一、关于注册账号IDP和AppleID:1、 注册AppId(无论是iOS使用者还是开发者 都需要有AppID,只是后者还需要付99$注册成为开发者。) 网址:http://developer.apple.com 由转载 2015-03-02 09:16:56 · 472 阅读 · 0 评论 -
【iOS知识学习】_ UITextField UITextView 回收键盘
回收键盘之UITextField和UITextViewUITextField回收的代理方法- (BOOL)textFieldShouldReturn:(UITextField *)textField{ [textFieldresignFirstResponder];//取消textFild的第一响应 第一响应者通常是用户据当前正在交互的对象 retu原创 2014-01-02 22:26:59 · 701 阅读 · 0 评论 -
NSURLConnection的使用
NSURLConnection用于网络连接,这个是对于异步连接的另外一种实现方法。这种方法能够在异步连接获取数据时进行若干次的进度获知。NSURLConnection需遵循NSURLConnectionDataDelegate协议,协议必须得实现方法包括:- (void)connection:(NSURLConnection *)connection didReceiveRes原创 2013-11-24 21:55:17 · 550 阅读 · 0 评论 -
UITableView
表视图用于显示数据列表,数据列表中得每项都由行表示。ios没有行数限制,行数仅受可用存储空间的限制。表视图的表只有一列时,用户可以通过上下滑动屏幕的方式来查看更多地信息。表视图的两种类型:分组表:UITableViewStyleGrouped无格式表:UITableViewStylePlain表视图的Section和Row:表中得每个部分成为数据源中得分区(Sectio原创 2013-11-24 17:13:41 · 526 阅读 · 0 评论 -
NSUserDefaults
在使用软件过程中,有时候需要让程序记住用户和登录密码,以方便下次打开程序的时候直接登录。ios中提供了一个类NSUserDefaults,NSUserDefaults适合存储轻量级本地数据,比如保存登录用户名、密码,使用NSUserDefaults是首选。下次再登录的时候就阔以直接从NSUserDefaults里面读取上次登录的信息。#import @interfa原创 2013-11-24 14:38:09 · 425 阅读 · 0 评论 -
初识Objecive-C 之 键值观察(KVO)
键值观察(KVO):Key-Value-Observing它基于键值编码的一种技术。利用键值观察可以注册成为一个对象的观察者,在该对象的某一个变化时收到通知。编写键值观察三部曲:注册成为观察者观察者定义KVO的回调移除观察者下面以保姆观察小孩的happVal值为例:#import @interface Child : NSObject原创 2013-10-24 23:58:56 · 556 阅读 · 0 评论 -
初识Objecive-C 之 内存管理
1. 为什么要管理内存?IOS为每一个程序分配了30M的内存,程序使用超过了20M就会收到警告,超过了30M就会crash程序(闪退)。内存管理就像图书馆,如果大家都去借书,但是没有人归还,那么图书馆很快就没有书可借了。2. 程序存储的区域代码区---存储代码全局区---存储方法为的常量,如int a = 10 ;还存储这Static修饰的静态值栈区---存储局部变量原创 2013-10-19 23:47:50 · 601 阅读 · 0 评论 -
sortUsingDescriptors与sortUsingSelector排序
#import @interface Student :NSObject@property (retain,nonatomic)NSString *name;@property (assign,nonatomic)int age;- (void) setAge: (int)newAge;- (NSComparisonResul原创 2013-10-17 22:34:11 · 3536 阅读 · 0 评论 -
初识Objecive-C 之 通知
通知(Notification)是一种发给一个或者多个观察者,用来通知其他在程序中发生了某个事件的消息,Cocoa中得通知机制遵循的一种广播的模式。通知机制的核心就是一个进程中单一实例的对象,被叫做通知中心(NSNotificationCenter)。当一个对象发布一个通知时,通知会先被发布到通知中心。自定义通知:注册通知创建并发送通知移除监听者#import "K原创 2013-10-26 09:25:53 · 694 阅读 · 0 评论 -
初识Objecive-C 之 面向对象(二)
一、对象的初始化接口文件代码Student.h:实现文件代码Student.m:main函数调用实例方法,代码及结果如下:注意:init方法是重写父类的方法,所以接口方法无需声明。 init返回的是id数据类型,id数据类型是动态数据类型,可以指向任何类的对象。 self=[super init];这里是赋值不是比较二、便利初原创 2013-10-11 19:38:29 · 771 阅读 · 0 评论 -
初识Objecive-C 之 面向对象(一)
1、类是具有相同属性和共同行为的一组对象的集合例如:人、汽车是类;张三、兰博基尼是对象。int a = 10; 在oc中 把int 看作是类,a就表示对象。2、 oc中类分为两个文件分别是:第一个文件是接口文件(interface),其拓展名为.h第二个文件是实现文件(implement),其拓展名为.m注意:类名首字母要大写,方法名首字母小写;oc原创 2013-10-10 21:18:26 · 669 阅读 · 0 评论 -
UITableView缓存加载图片
- (void)viewDidLoad{ [super viewDidLoad]; self.listTableViewArray = [NSMutableArray arrayWithCapacity:1]; NSString *jsonStr = [NSString stringWithContentsOfURL转载 2014-12-05 11:46:31 · 455 阅读 · 0 评论 -
关于UILabel高度自适应
前面已经描述了关于UILabel自适应的要点。其中- (CGSize)sizeWithFont:(UIFont *)font constrainedToSize:(CGSize)size lineBreakMode:(NSLineBreakMode)lineBreakModeNS_DEPRECATED_IOS(2_0, 7_0, "Use -boundingRectWithSize原创 2014-01-09 11:06:18 · 747 阅读 · 0 评论 -
IOS UITextView自适应高度
LOFTER app需要实现了一个类似iPhone短信输入框的功能,它的功能其实蛮简单,就是:【UITextView的高度随着内容高度的变化而变化】。实现思路应该是:在UITextView的textChanged事件响应代码里计算输入内容的高度,然后如果高度与文本变化前比起来有变化,则修改UITextView的高度为这个新的高度。这看起来很简单。添加内容变化的通知响应事件:转载 2014-01-08 19:18:16 · 1093 阅读 · 0 评论 -
文件的读取(持久化)
//获取Bundle的目录 NSString *sourcePath = [[NSBundlemainBundle] pathForResource:@"city"ofType:@"plist"]; //获取Document目录 //NSSearchPathForDirectoriesInDomains(, , ) //第一个参数原创 2014-01-05 18:47:12 · 716 阅读 · 0 评论 -
UIGestureRecognizer
#import"ViewController.h"@interfaceViewController ()@end@implementation ViewController- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{原创 2013-12-31 11:15:43 · 583 阅读 · 0 评论 -
UIResponder
响应链控件响应触控时间的时候后,是有先后顺序的,那么这个顺序就形成了一个响应者链。第一响应通常是用户当前正在交互的对象。以下为响应者链图:第一响应者就是响应链的开始如果第一响应者不处理某个事件,则该时间传递到响应者链的下一级,一般情况下如果下一级处理,则停止事件的传递如果事件通过整个响应者链并且没有对象处理该事件,则丢弃该事件说明:第一响应者几乎都是视图原创 2014-01-02 22:56:46 · 600 阅读 · 0 评论 -
UITabBarController
修改AppDelegate.m中的代码#import "AppDelegate.h"#import "FirstViewController.h"#import "SecondViewController.h"@implementation AppDelegate- (void)dealloc{ [_wi原创 2013-11-27 21:22:45 · 440 阅读 · 0 评论 -
Copy
浅拷贝和深拷贝1.浅层拷贝:拷贝引用对象的指针(指针拷贝俗称指针拷贝)2.深层拷贝:拷贝引用对象内容(对象拷贝也俗称内容拷贝)引用网上大牛的描述:浅复制好比你和你的影子,你完蛋你的影子也完蛋;深复制好比你和你的克隆人,你完蛋你的克隆人还活着。 /* 非容器类不可变对象拷贝 */ NSString *str1 = @"k原创 2013-12-07 21:30:33 · 594 阅读 · 0 评论 -
UIActivityIndicatorView
活动指示器的创建:[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:; 其中UIActivityIndicatorViewStyle是一个枚举类型,一下为其的三种形式typedefNS_ENUM(NSInteger, UIActivityIndicatorViewStyle) { UIA原创 2014-01-02 20:11:24 · 797 阅读 · 0 评论 -
UIImagePickerController
/*设置图片的选取*/- (IBAction)InsertImg:(id)sender { UIImagePickerController *pc = [[UIImagePickerControlleralloc] init];//创建图片选取器 pc.sourceType =UIImagePickerControllerSourceTypePhot原创 2013-12-26 20:13:33 · 987 阅读 · 0 评论