Objective-C
嚼华先森
这个作者很懒,什么都没留下…
展开
-
NSURL
1.拿到一个链接网址URL NSString *string = @"http://www.people.com.cn/mediafile/pic/20160411/21/13769042163125817725.jpg";2.将URL进行编码,有时候我们传给服务器的参数中会出现中文,但是url不支持中文等一些特殊的字符串,此时需要进行url编码[string stringByAddingPerce原创 2016-08-27 17:55:26 · 389 阅读 · 0 评论 -
Objective-C中的便利初始化函数和便利构造器
程序在实际使用过程中,对象和对象的实例变量的值不一定相同,这个时候可以在init方法调用的时候传入一个我们需要的数据。 于是便有 便利初始化函数 框架类库中有一些init开头的方法,都是便利初始化函数 但是,系统框架提供的初始化方法不一定都适用我们的需求,所以我们同样可以在类中定义自己的便利初始化函数。 便利构造器 便利构造器都以className开头,(类名首写字母开头),并且都是类方原创 2016-08-04 12:06:59 · 691 阅读 · 0 评论 -
**浅谈Objective-C中的类与对象**
一、 面向对象: 面向对象以事物为中心,完成某件事都需要哪些事物来参与,参与该事件的事物都有哪些功能,完成该事件需要这些事物相互协作共同完成,并且完成该事件只是所有事物功能中其中的一个小功能。二、 类和对象的区别: 类:是一种具有相同属性和行为的集合 在OC中:类是由接口intface 和实现implementation两部分构成对象:对象是类的的实例,万事万物皆对象 .h接口文件,用来原创 2016-08-01 22:59:52 · 309 阅读 · 0 评论 -
Foundation框架中的NSArray
NSArray是不可变的数组,一旦初始化完成就不能对这个数组进行插入删除等操作,只能对其重新赋值。NSArray只能储存Objective-C对象,另外,数组的最后一个元素一定是nil,表示结束。 数组的创建 数组常用方法 下面来看看实现之后的打印结果: 总结:使用NSArray 注意事项 1原创 2016-08-11 15:05:22 · 180 阅读 · 0 评论 -
Foundation框架中的NSMutableArray
可变数组(NSMutableArray)在初始化时可以设置容量为任意值,在执行一系列插入删除等操作时数组会根据元素的数量自动改变容量大小。 常用创建方法 NSMutableArray的操作 NSMutableArray遍历 输出结果如下原创 2016-08-11 15:23:55 · 260 阅读 · 0 评论 -
Foundation框架中的NSMutableString
NSMutableString是继承于NSString的,所以NSString中所有方法NSMutableString都可以使用,但是创建常量字符串的方法NSMutableString不能使用,因为常量字符串数据类型默认是NSString型。//创建常量字符串的方法NSMutableString不能使用NSMutableString *string = @"王尼玛"//错误的示范常用创建方法原创 2016-08-11 11:10:26 · 218 阅读 · 0 评论 -
Foundation框架中的NSDictionary 、NSMutableDictionary
字典:NSDictionary /NSMutableDictionary 1. 概念:字典的关键字”key”及其定义的值”value”所构成的集合,即他是由key - value组成的键值对的集合.’key’一般都是字符串类型 ,’value’是OC中任意对象 对于字典来讲,我们就是通过key来访问value 2.为什么在有了数组之后 还需要有字典?在有大量的原创 2016-08-10 23:57:27 · 210 阅读 · 0 评论 -
Foundation框架中的NSString 不可变字符串
NSString Objective-C里核心的处理字符串的类就是NSString和NSMutableString这两个类,这两个类完成了Objective-C中字符串大部分功能的处理。这两个类的最主要的区别是NSString创建赋值后不能动态修改长度和内容,除非重新赋值。而NSMutableString类似于链表,在创建赋值后可以进行修改长度,插入,删除等操作。创建字符串NSString常用方原创 2016-08-11 00:33:43 · 231 阅读 · 0 评论 -
iOS文件操作
**首先我们需要了解苹果的沙盒机制 沙盒机制: 1.每个应用程序都在自己的沙盒内 2.不能随意跨越自己的沙盒去访问别的应用程序沙盒的内容 3.应用程序向外请求或接收数据都需要经过权限认证当第一次启动app 时,ios操作系统就为此app 创建一个文件系统,该文件系统下,默认有四个目录,他们分别是:****1. DoucumnetS:用户在操作APP是产生的数据,在此目录原创 2016-08-25 21:59:41 · 384 阅读 · 0 评论 -
EnumerateObjectsUsingBlock创建按钮
EnumerateObjectsUsingBlock创建按钮在OC中除了for循环和for in 循环之外我们还有另外一种循环的方式:EnumerateObjectsUsingBlock首先我们看看苹果的官方API:api显示这是从ios4.0开始就有的了,这不得不说老乔的牛叉啊…那么今天我们就来用这个方法写一个小demo创建几个按钮废话不多说,上代码跑一下模拟器得出效果如下原创 2016-12-26 11:05:17 · 303 阅读 · 0 评论 -
UIButton
UIButtonUIButton是一个常用到的UI控件, 俗称”按钮”。 一般情况下,点击某个控件后,会做出相应反应的都是按钮 按钮的功能比较多,既能显示文字,又能显示图片,还能随时调整内部图片和文字的位置 作用:监听用户的点击事件,在用户点击后做出响应这个是Button 这个也是Button 那么,我们废话不多说,赶紧上代码 首先,我么需要写一个方法创建一个文字按钮,-(void)cr原创 2016-09-13 01:57:55 · 258 阅读 · 0 评论 -
iOS 多面传值之 -- 单例传值
单例传值单例可以保证其某个类的实例在程序中是唯一的,便于进行资源和数据的共享单例传值可以理解为定义一个全局静态变量进行传值,将第二个页面的内容传入第一个页面并显示。3.新建一个Person类#import <Foundation/Foundation.h>@interface Person : NSObject@property (nonatomic,strong) NSString *str原创 2016-09-11 15:05:19 · 338 阅读 · 0 评论 -
iOS多界面传值之--通知传值
通知传值通知传值也是逆向传值的一种,即第二界面向第一界面传值 谁要监听值的变化,谁就注册通知 特别要注意,通知的接受者必须存在这一条件 1.注册通知 2.通知中心发送通知消息,其中name(通知名)前后要保持一致性 3.实现通知内部的方法,并实现传值 4.消息发送完之后,要移除通知5.新建一个继承与UIViewController的SecondViewController,然后在.m文件中原创 2016-09-11 15:19:31 · 2726 阅读 · 0 评论 -
iOS网络编程--NSURLConnection
**- 网络开发流程 - 1.构造地址NSURL - 2.构造请求NSURLRequest - 3.构造启动连接NSURLConnection - 4.发送同步请求\异步请求 - 5.代理对象实现协议,用于监听通讯事件** 今天我们来讲一讲NSURLConnection,那好我们上代码 首先来到我们的故事板storyboard,分别拖拽几个控件:UIimageView 、UI原创 2016-08-28 00:07:30 · 447 阅读 · 0 评论 -
Objective-C动态特性之KVO
KVO 的由来: 在编程的过程中,我们经常需要判断目标是否发生变化,以便及时做出对应的处理,此时苹果公司就提供了一种策略,即”OC运行时”提供了KVO技术,其中KVO是基于KVC实现的 KVO的实现: 1.注册观察者 2.观察者定义KVO回调 3.移除观察者 常用的方法如下: 注册指定Key路径的监听器:原创 2016-08-17 22:39:41 · 257 阅读 · 0 评论 -
协议(protocol)
什么是协议? **在OC中,一个类可以实现多个协议,通过协议可以弥补单继承的缺陷.但是协议跟继承不一样,协议只是一个方法列表,方法的实现得靠遵循该协议的类去完成. 协议:协议是一套标准,这个标准里面声明了很多方法,但是不关心具体这些方法是怎么实现的,具体的实现是由遵循这个协议的类去完成的**语法:@protocol 协议名称//方法列表@end了解了什么是协议的这个概念,原创 2016-08-18 15:51:22 · 364 阅读 · 0 评论 -
Objective-C中的设计模式--NSNotification通知
什么是通知? 通过学习KVO 我们发现KVO是一种简单的观察者设计模式,涉及到两个对象,分别是观察者和被观察者.这种方式实质有很大的局限性.那么OC中的”Foundstion”框架又为开发者提供了一种观察者设计模式.即通知 **通知,是一种发送给一个或者多个观察者,用来通知其在程序中发生了某个事件的消息,COcoca中的通知机制遵循的就是一种广播的模式,他是一种程序中事件的发起者或者原创 2016-08-18 16:37:52 · 757 阅读 · 0 评论 -
Objective-C动态特性之KVC
KVC 什么叫KVC: 在ObjC的编程中,我们习惯于通过属性的set和get方法来对属性的值进行读写,其实由于ObjC的语言特性,你根本不必进行任何操作就可以进行属性的动态读写,这种方式就是Key Value Coding(简称KVC)。 KVC的操作方法由NSKeyValueCoding协议提供,而NSObject就实现了这个协议,也就是说ObjC中几乎所有的对象都支持KVC操原创 2016-08-17 18:26:31 · 217 阅读 · 0 评论 -
Objective-C中的设计模式之单例模式
**设计模式(用来解决某一特定问题的):观察者模式 单例模式: 什么时候使用单例:在一个工程中,一些类只需要一个实例变量,我们就可以将这些设计成单例模式 单例模式的作用: 当一个A类被设计成单例模式时,有类A构造出的实例对象之于其他类来讲为全局实例对象,即在每一个类中有类A构造出来的实例对象,都为相同的对象 在OC中如何将一个雷设计成单例模式原创 2016-08-18 16:58:35 · 197 阅读 · 0 评论 -
UI多界面传值之--属性传值
属性传值:一般用于正向传值,即第一个界面传值给第二个界面 在这么多的界面传值里面属性传值属于最简单的,我们只需要记住以下两点: 1.要在接收值的界面(SecondViewController)中声明属性即文中: labelString 2.要在跳转界面的同时将要传的赋值给下个控制器对象的属性即文中的这个操作: secondVc.labelString =textF.text;那原创 2016-09-11 00:22:00 · 436 阅读 · 0 评论 -
iOS多界面传值之--代理传值
代理传值 代理传值一般用于逆向传值,即第二个页面传值给第一个页面 ViewController页面push到SecondViewController页面,如果SecondViewController页面的信息想回传(回调)到ViewController页面,用代理传值,其中SecondViewController定义协议和声明代理,ViewController确认并实现代理,ViewCon原创 2016-09-11 00:42:44 · 958 阅读 · 0 评论 -
iOS 多界面传值之--Block(代码块)传值
Block传值一般应用于逆向传值,即第二界面向第一界面传值,我们需要记住的两点: 1.要在第二个界面(SecondViewController.h)定义一个Block: 2.在第一个界面(ViewController.m)跳转第二个界面的方法中我们为block属性赋值完成block传值:3.首先来到SecondViewController.h定义一个代码块#import <UIKit/UIKit原创 2016-09-11 01:09:57 · 1281 阅读 · 0 评论 -
电商分类:UITableView和UICollectionView的联动
电商分类:UITableView和UICollectionView的联动前段时公司的项目要用到像京东的分类那样,所以我就按照自己的思路做了一个低仿版的京东分类,本人菜鸟一枚,写得不好,大神们请勿喷!首先在ViewController里创建一些属性,遵循一些代理 新建一个继承于UICollectionReusableView的类做CollectionViewHeaderView,并且公布一个lab原创 2017-07-11 16:04:00 · 1661 阅读 · 0 评论