自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 资源 (1)
  • 收藏
  • 关注

原创 TableView与CollectionView的区别

原博,也是本人博客1、遵循协议:UITableView:UITableViewDataSource,UITableViewDelegateUIcollectionView:UICollectionViewDelegate, UICollectionViewDataSource,UICollectionViewDelegateFlowLayout2、注册cell:tableview可以不注册cell...

2018-05-07 10:32:25 1258

转载 JS与OC交互

原博,也是本人博客js调用OC:① 直接调用方法② 通过对象调用方法第一种:-(void)webViewDidFinishLoad:(UIWebView *)webView { //首先创建JSContext 对象(此处通过当前webView的键获取到jscontext) JSContext *context=[webView valueForKeyPath:@"doc...

2018-05-07 10:24:24 197

原创 cocoaPods安装

1. 测试:SDWebImage$ gem sources -l$ gem sources --remove https://rubygems.org/$ gem sources -a https://ruby.taobao.org/$ gem sources –l$ sudo gem update —system$ sudo gem install cocoapods

2016-01-09 11:05:09 475

原创 自定义UINavigationBar

虽然自定义UINavigationBar很简单,并不是什么难点,但是具体的过程,写的时候容易忘记,所以在这里补充一下:这里面讲的是一种简单方法,就是先把UINavigationBar隐藏,然后在View上面添加一个自己新定义的UINavigationBar,从而实现自定义效果- (void)initNavigationBar{ [self.navigationControll

2016-01-09 11:01:30 495

原创 项目知识点.Part1

1. 取消collectionView头视图重叠情况:以下两种情况效果一样 但是有一点点bug 每次remove之后 需要把视图刷到上面才会显示(后续会改进方法)for (UIView *view in headerView.subviews) { [view removeFromSuperview]; }[view.subviews m

2016-01-09 09:36:45 858

原创 LeanCloud

1. 查询数据:用AVQuery对象调用查询数据这句话必需:AVQuery *query = [AVQuery queryWithClassName:@"Table"];方法一:AVQuery *query = [AVQuery queryWithClassName:@"Table"]; // Table表是之前已经创建好 已存在的 AVObject *post

2015-12-28 20:43:47 1235

原创 Swift基础知识

1. 常量 变量:1.常量:常量在初始化之后,不可以再对其进行修改let str1 = "ha"let t = 8比较完整的初始化定义:变量名 : 数据类型 = .....let str2 : String = "gghjikio"2. 变量:对于变量或者常量的名可以是汉字 表情符 或者其他var h : Int = 34// 表情符做变量名va

2015-12-07 11:35:11 426

原创 XMPP

1. Socket:遵循协议:NSStreamDelegate输入流:NSInputStream输出流:NSOutputStreamNSStreamEvent:// NSStreamEventOpenCompleted = 1UL << 0,//输入输出流打开完成// NSStreamEventHasBytesAvailable = 1UL << 1,//有字节可

2015-12-03 20:26:47 764

原创 CoreData

CoreData不是一种存储形式 属于中间的协调者懒加载:重写getter方法,在变量使用的时候创建(很好的写法)#pragma mark --- 懒加载:- (NSManagedObjectContext *)managedObjectContext { if (!_managedObjectContext) { // 获取当前的appDelegate

2015-11-24 10:54:53 374

原创 数据库

数据库:需要导入:sqlite3添加 删除 修改数据库中的数据都用的是:sqlite3_exec查询数据库用的是:sqlite3_prepare_v2// 创建一个sqlite3对象 以后都操作它static sqlite3 *db = nil;#pragma mark 1. 打开数据库- (void)openDB { if (db == nil) {

2015-11-10 12:17:17 422

原创 数据持久化

1. 归档和反归档:归档的时候一定要使归档的对象遵循协议:NSCoding创建一个Person类,有俩个属性:name age 在实现文件中写:// 对属性做归档处理-(void)encodeWithCoder:(NSCoder *)aCoder { [aCoder encodeObject:self.name forKey:@"name"]; [aCoder enc

2015-11-05 17:23:28 401

原创 图片加载 第三方 KVO

1. 用session:- (void)setImageAction:(id)sender { self.imV.image = [UIImage imageWithData:sender];}- (IBAction)image:(id)sender { // 设置url NSURL *url = [NSURL URLWithString:@"http://v

2015-11-05 09:02:30 380

原创 网络部分(iOS)

ftp:(文件传输协议)http:(超文本传输协议)https:(安全超文本传输协议)file:(本地文件协议)Xcode7设置网络:打断点:在输出框 输入:po self.array 会打印处里面的对象1. GET:1.1 GET同步:1> 获取网址2> 建立连接,请求数据,获取数据3> 对数据进行解析

2015-11-03 09:42:29 582

原创 数据解析

补充:ARC和MRC是编译器的机制   -fno-objc-arc:忽略ARC数据解析:1.  XML:     1.1 SAX:第一步:获取存放xml数据的文件路径(NSBundle)第二步:以NSData的形式获得数据第三步:NSXMLParser 声明变量 初始化 利用data第四步:遵守协议:    设置代理第五步:开启数据解析(必须写这一步)//

2015-11-02 11:12:18 542

原创 UITabBarController block

1. 标签视图控制器(UITabBarController):UITabBar:1>  是UITabBarController中下方的工具条 高度49 上面有控制每个子视图控制器的按钮:UITabBarButton 按钮上面的文字及图片由UITabBarController对应子视图控制器的UITabBarItem来设置2>  属性:tintColor barTintColor....

2015-10-29 11:30:49 449

原创 UITableView

1. UITableView:1. UITableView 继承于 UIScrollView 所以可以滚动2. 控制器需要遵守两个协议:section:分组   row:行1.1 UITableView的代理方法:属性(常用):imageView:用来添加图片textLabel:添加文本框detailTextLabel:当style设置为UITableViewC

2015-10-23 21:00:48 466

原创 UINavigationController

1. UINavigationController:补充的一些

2015-10-22 17:54:50 418

原创 OC知识补充

例1:如果字典的key值相同  则会覆盖,保存的是最后存进去的值NSMutableDictionary * dic = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"1",@"2",@"10",@"2",@"5",@"2", nil]; NSArray *arr1 = [[NSArray alloc] ini

2015-10-22 17:02:21 370

原创 UIScrollView UIPageControl

1. UIScrollView:1.1. 属性:contentSize:设置滑动的范围contentOffset:偏移位置---屏幕的原点在整个滑动scroll坐标系的位置(CGPoint)bounces:边界回弹indicatorStyle:滚动条的样式pagingEnabled:是否整页滑动scrollEnabled:是否允许滑动- (void)addViews

2015-10-22 09:27:07 580

原创 自己看的东西:UIWebView UIAlertController UIPickerView

1.UIWebView:- (void)viewDidLoad { [super viewDidLoad]; self.webView = [[UIWebView alloc] initWithFrame:[UIScreen mainScreen].bounds]; NSURLRequest *reduest = [NSURLRequest requestWithURL

2015-10-21 14:53:58 1435 1

原创 UIControl及其子类

1. UiSegmentedControl:initWithIterms:初始化方法setTitle: forSegmentAtIndex:根据下标设置Title- (void)addViews { self.backgroundColor = [UIColor whiteColor];#pragma 1. 初始化: UISegmentedControl *s

2015-10-19 20:58:03 510

原创 UI-设计模式 手势处理

1. 设计模式:面向对象的编程核心思想:高内聚 低耦合使用target action实现解耦//MyButton.h文件 用UIView模拟一个按钮#import @interface MyButton : UIView{ id _target; SEL _action;}- (void)addMyTarget:(id)target action:(S

2015-10-17 19:58:32 562

原创 UI-事件处理

补充:按钮字符串替换// 按钮在 显示和隐藏两个字符串之间替换 点击一下 替换一下- (void)buttonAction:(UIButton *)sender { #pragma 方法一:// if (sender.selected) { // selected 的默认值是NO 第一次点击无效果// [sender setTitle:@"隐藏"

2015-10-17 19:48:50 517

原创 UI-UITextField UIButton

1. UITextField:UITextField的属性:(部分)文本显示:1. 有UILable的一堆属性:text font textColor textAlignment2. placeholder:占位字符串输入控制:3. enabled:是否允许在输入框内输入东西4. secureTextEntry:密文输入5. keyboardType:弹出键

2015-10-13 17:31:38 835

原创 UI-UIView

1.UIView 基本:#pragma window: // widows三步:初始化---设置颜色---可见 // 1. 初始化window _window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; // 以调用的作为坐标原点 // 2. 给window设置颜色

2015-10-12 15:27:11 453

原创 Objective-C---9---内存管理 补充

1. 内存管理补充:1.1. setter方法:@autoreleasepool {#pragma 验证Person类dealloc方法里的:[_car release] { Person *p = [[Person alloc] init]; Car *c = [[Car alloc] init]; [c setSpe

2015-10-09 11:05:59 343

原创 Objective-C---9---内存管理

1. 内存管理:OC三种内存管理:MRC , ARC, garbage collection(垃圾回收)---iOS不支持垃圾回收内存管理的范围:任何继承于NSObject类的对象,对其它基本数据类型无效1.1. 对象所有权和引用计数器:1.1.1  对象所有权:每个对象都可能拥有一个或者多个所有者,只要对象至少有一个所有者,它就会继续存在。1.1.2. 对象引

2015-10-08 09:51:06 594

原创 Objective-C---8---@property KVC

1. @property:1.1. 属性的声明及实现:之前的@property只是负责setter和getter的声明,需程序员手动实现方法 :           @property int age;   @synthesize age = _age;现在的@property会生成实例变量及setter和getter方法的声明及实现// 声明的时候:@inter

2015-10-07 09:14:10 438

原创 Objective-C---7---NSDate Protocol Category

1. NSDate:用来获取时间 或者计算时间 /* NSDate 是objC中提供日期处理的一个类: 获取当前时间 计算时间 格式化显示时间 日期对象的使用 */#pragma 计算时间: { // 获取当前时间:显示的是0

2015-10-06 12:09:51 573

原创 Objective-C---6---Block

1. block1. Block本质上是匿名函数,定义在main函数内部,和C语言的函数还是有区别的 /* 写⼀个 返回值为整型 参数为OC字符串(仅一个参 数)的block,实现将字符串转换为整型的功能。 */ int (^stringToInt)(NSString *) = ^(NSString *str

2015-09-30 15:26:38 253

原创 Objective-C---5---字典,集合

1. 字典:1.1  不可变字典:1.1.1 不可变字典的创建:#pragma mark-------不可变字典 { // NSDictionary 字典:一个索引对应一个值 // 一旦创建,不可改变 // 1. 创建一个空字典:创建不可变的空字典是无意义的 NSDictionary *dic1 =

2015-09-29 14:40:00 597 1

原创 Objective-C---4---数组和值对象

1. NSArrayOC中的数组:相当于容器,里面装的是ObjC对象,一旦创建,不可改变,数组是有序集合,只能存放对象iOS中存放数据的容器类叫做集合1.1  创建不可变数组:#pragma mark----不可变数组 { // 1. 创建空数组 NSArray *array = [NSArray array];// 这样创建是

2015-09-28 11:59:40 828

原创 Objective-C---3---NSString的常用方法

全都是关于NSString 的方法,只是部分常用的方法,内容较多

2015-09-25 11:18:22 734 2

原创 Objective-C---2---初始化、便利构造器

1. 继承:继承在OC中是单向的OC中只允许单继承和C++不一样子类可以重写父类的方法声明子类的setter和getter方法时,只要实现自己的成员变量即可,不用写父类的,父类的已经封装完成了,你直接调用就可以啦基础知识补充:NSInteger 包括:int long short创建一个对象,对象放在堆区   栈区存放变量Person *pe

2015-09-24 09:15:09 358

原创 Objective-C---1---类的有关基本概念

1.类和方法1.1 声明及定义类的属性和方法:// 在@interface文件中写类的方法及属性---------在@implementation中实现类的方法// 以下是方法的实现:- (id)init{ _name = @"张无忌"; _sex = @"男"; _hobby = @"乾坤大挪移"; _age = 23; return

2015-09-22 11:22:06 386

原创 函数指针(Day-10)

1. 函数指针1.1 函数指针:定义:指向函数的指针,可以通过函数指针调用指向的函数指针类型必须与指向的数据类型一致,  函数有:返回值  函数名名  参数列表函数指针声明: 返回值类型 (*函数指针名) (参数列表)= 函数名函数名和数组名一样都是地址// 例1: int (*p)(int a, int b) = sumV

2015-09-18 09:55:16 576

原创 内存分配(Day-9)

计算机内存划分为5个区:栈区 堆区 静态区 常量区 代码区1. 5大区:栈区: 1.1. 函数的参数或者是局部变量存储在栈区 1.2. 局部变量:在函数 分支 循环的{}中定义的变量 1.3. 栈区内存的管理方式:由系统负责分配和回收 1.4. 定义变量时分配,函数执行结束后系统回收 1.5. 内存被系统回收后,原来存储的数据没有被清空,只是标记回收 1.6. 栈区存储的特点:

2015-09-17 09:46:38 589 1

原创 高级指针(Day-8)

1. 结构体指针1— int main() { typedef struct teacher{ int number; int age; }Teacher; Teacher tea1 = {1,28}; Teacher *p = &tea1; printf("%d %d", tea1.age, (*p).number);

2015-09-16 09:38:59 568 2

原创 指针(Day-7)

指针(Day-7)1. 存储及访问:内存单元:一个字节,每个内存单元都有编号,也就是内存单元的地址。访问方式: 直接访问:直接通过名字访问; 间接访问:不知道变量名,通过地址名访问,找到变量所在的地址。 指针变量存储的是地址定义指针变量: (1) 定义:类型修饰符 (int *) 变量名 初值 int *p = NULL; (指针变量所占的字节数和OS有关,32位-4字节

2015-09-16 08:53:15 448 1

原创 结构体(Day-6)

结构体(Day-6)1.普通结构体结构体:自定义的一种数据类型 关键字:struct struct 结构体名{ 类型说明符 成员名; ….. 类型说明符 成员名; };赋初值: struct 结构体名 变量名 = {初值};结构体成员变量访问:struct teacher{ // 结构体定义 char name[20]; char gende

2015-09-14 11:04:37 419

iOS最基本 最简单的相册

相册:基本的缩放,滑动 点击缩略图 显示大图

2015-11-04

空空如也

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

TA关注的人

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