OC笔记
文章平均质量分 83
Evelynzn
这个作者很懒,什么都没留下…
展开
-
Objective-C---2---初始化、便利构造器
1. 继承:继承在OC中是单向的OC中只允许单继承和C++不一样子类可以重写父类的方法声明子类的setter和getter方法时,只要实现自己的成员变量即可,不用写父类的,父类的已经封装完成了,你直接调用就可以啦基础知识补充:NSInteger 包括:int long short创建一个对象,对象放在堆区 栈区存放变量Person *pe原创 2015-09-24 09:15:09 · 371 阅读 · 0 评论 -
UITabBarController block
1. 标签视图控制器(UITabBarController):UITabBar:1> 是UITabBarController中下方的工具条 高度49 上面有控制每个子视图控制器的按钮:UITabBarButton 按钮上面的文字及图片由UITabBarController对应子视图控制器的UITabBarItem来设置2> 属性:tintColor barTintColor....原创 2015-10-29 11:30:49 · 459 阅读 · 0 评论 -
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 · 845 阅读 · 0 评论 -
Objective-C---1---类的有关基本概念
1.类和方法1.1 声明及定义类的属性和方法:// 在@interface文件中写类的方法及属性---------在@implementation中实现类的方法// 以下是方法的实现:- (id)init{ _name = @"张无忌"; _sex = @"男"; _hobby = @"乾坤大挪移"; _age = 23; return原创 2015-09-22 11:22:06 · 395 阅读 · 0 评论 -
UI-UIView
1.UIView 基本:#pragma window: // widows三步:初始化---设置颜色---可见 // 1. 初始化window _window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; // 以调用的作为坐标原点 // 2. 给window设置颜色原创 2015-10-12 15:27:11 · 463 阅读 · 0 评论 -
UITableView
1. UITableView:1. UITableView 继承于 UIScrollView 所以可以滚动2. 控制器需要遵守两个协议:section:分组 row:行1.1 UITableView的代理方法:属性(常用):imageView:用来添加图片textLabel:添加文本框detailTextLabel:当style设置为UITableViewC原创 2015-10-23 21:00:48 · 475 阅读 · 0 评论 -
数据解析
补充:ARC和MRC是编译器的机制 -fno-objc-arc:忽略ARC数据解析:1. XML: 1.1 SAX:第一步:获取存放xml数据的文件路径(NSBundle)第二步:以NSData的形式获得数据第三步:NSXMLParser 声明变量 初始化 利用data第四步:遵守协议: 设置代理第五步:开启数据解析(必须写这一步)//原创 2015-11-02 11:12:18 · 552 阅读 · 0 评论 -
CoreData
CoreData不是一种存储形式 属于中间的协调者懒加载:重写getter方法,在变量使用的时候创建(很好的写法)#pragma mark --- 懒加载:- (NSManagedObjectContext *)managedObjectContext { if (!_managedObjectContext) { // 获取当前的appDelegate原创 2015-11-24 10:54:53 · 384 阅读 · 0 评论 -
JS与OC交互
原博,也是本人博客js调用OC:① 直接调用方法② 通过对象调用方法第一种:-(void)webViewDidFinishLoad:(UIWebView *)webView { //首先创建JSContext 对象(此处通过当前webView的键获取到jscontext) JSContext *context=[webView valueForKeyPath:@"doc...转载 2018-05-07 10:24:24 · 206 阅读 · 0 评论 -
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 · 432 阅读 · 0 评论 -
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 · 484 阅读 · 0 评论 -
自定义UINavigationBar
虽然自定义UINavigationBar很简单,并不是什么难点,但是具体的过程,写的时候容易忘记,所以在这里补充一下:这里面讲的是一种简单方法,就是先把UINavigationBar隐藏,然后在View上面添加一个自己新定义的UINavigationBar,从而实现自定义效果- (void)initNavigationBar{ [self.navigationControll原创 2016-01-09 11:01:30 · 504 阅读 · 0 评论 -
项目知识点.Part1
1. 取消collectionView头视图重叠情况:以下两种情况效果一样 但是有一点点bug 每次remove之后 需要把视图刷到上面才会显示(后续会改进方法)for (UIView *view in headerView.subviews) { [view removeFromSuperview]; }[view.subviews m原创 2016-01-09 09:36:45 · 870 阅读 · 0 评论 -
XMPP
1. Socket:遵循协议:NSStreamDelegate输入流:NSInputStream输出流:NSOutputStreamNSStreamEvent:// NSStreamEventOpenCompleted = 1UL << 0,//输入输出流打开完成// NSStreamEventHasBytesAvailable = 1UL << 1,//有字节可原创 2015-12-03 20:26:47 · 772 阅读 · 0 评论 -
LeanCloud
1. 查询数据:用AVQuery对象调用查询数据这句话必需:AVQuery *query = [AVQuery queryWithClassName:@"Table"];方法一:AVQuery *query = [AVQuery queryWithClassName:@"Table"]; // Table表是之前已经创建好 已存在的 AVObject *post原创 2015-12-28 20:43:47 · 1246 阅读 · 0 评论 -
数据持久化
1. 归档和反归档:归档的时候一定要使归档的对象遵循协议:NSCoding创建一个Person类,有俩个属性:name age 在实现文件中写:// 对属性做归档处理-(void)encodeWithCoder:(NSCoder *)aCoder { [aCoder encodeObject:self.name forKey:@"name"]; [aCoder enc原创 2015-11-05 17:23:28 · 408 阅读 · 0 评论 -
Objective-C---4---数组和值对象
1. NSArrayOC中的数组:相当于容器,里面装的是ObjC对象,一旦创建,不可改变,数组是有序集合,只能存放对象iOS中存放数据的容器类叫做集合1.1 创建不可变数组:#pragma mark----不可变数组 { // 1. 创建空数组 NSArray *array = [NSArray array];// 这样创建是原创 2015-09-28 11:59:40 · 840 阅读 · 0 评论 -
UIControl及其子类
1. UiSegmentedControl:initWithIterms:初始化方法setTitle: forSegmentAtIndex:根据下标设置Title- (void)addViews { self.backgroundColor = [UIColor whiteColor];#pragma 1. 初始化: UISegmentedControl *s原创 2015-10-19 20:58:03 · 516 阅读 · 0 评论 -
网络部分(iOS)
ftp:(文件传输协议)http:(超文本传输协议)https:(安全超文本传输协议)file:(本地文件协议)Xcode7设置网络:打断点:在输出框 输入:po self.array 会打印处里面的对象1. GET:1.1 GET同步:1> 获取网址2> 建立连接,请求数据,获取数据3> 对数据进行解析原创 2015-11-03 09:42:29 · 589 阅读 · 0 评论 -
Objective-C---6---Block
1. block1. Block本质上是匿名函数,定义在main函数内部,和C语言的函数还是有区别的 /* 写⼀个 返回值为整型 参数为OC字符串(仅一个参 数)的block,实现将字符串转换为整型的功能。 */ int (^stringToInt)(NSString *) = ^(NSString *str原创 2015-09-30 15:26:38 · 261 阅读 · 0 评论 -
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 · 574 阅读 · 0 评论 -
Objective-C---5---字典,集合
1. 字典:1.1 不可变字典:1.1.1 不可变字典的创建:#pragma mark-------不可变字典 { // NSDictionary 字典:一个索引对应一个值 // 一旦创建,不可改变 // 1. 创建一个空字典:创建不可变的空字典是无意义的 NSDictionary *dic1 =原创 2015-09-29 14:40:00 · 608 阅读 · 1 评论 -
UI-事件处理
补充:按钮字符串替换// 按钮在 显示和隐藏两个字符串之间替换 点击一下 替换一下- (void)buttonAction:(UIButton *)sender { #pragma 方法一:// if (sender.selected) { // selected 的默认值是NO 第一次点击无效果// [sender setTitle:@"隐藏"原创 2015-10-17 19:48:50 · 531 阅读 · 0 评论 -
Objective-C---3---NSString的常用方法
全都是关于NSString 的方法,只是部分常用的方法,内容较多原创 2015-09-25 11:18:22 · 750 阅读 · 2 评论 -
自己看的东西: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 · 1447 阅读 · 1 评论 -
图片加载 第三方 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 · 387 阅读 · 0 评论 -
数据库
数据库:需要导入: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 · 430 阅读 · 0 评论 -
UINavigationController
1. UINavigationController:补充的一些原创 2015-10-22 17:54:50 · 426 阅读 · 0 评论 -
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 · 350 阅读 · 0 评论 -
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 · 376 阅读 · 0 评论 -
UIScrollView UIPageControl
1. UIScrollView:1.1. 属性:contentSize:设置滑动的范围contentOffset:偏移位置---屏幕的原点在整个滑动scroll坐标系的位置(CGPoint)bounces:边界回弹indicatorStyle:滚动条的样式pagingEnabled:是否整页滑动scrollEnabled:是否允许滑动- (void)addViews原创 2015-10-22 09:27:07 · 588 阅读 · 0 评论 -
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 · 604 阅读 · 0 评论 -
Objective-C---7---NSDate Protocol Category
1. NSDate:用来获取时间 或者计算时间 /* NSDate 是objC中提供日期处理的一个类: 获取当前时间 计算时间 格式化显示时间 日期对象的使用 */#pragma 计算时间: { // 获取当前时间:显示的是0原创 2015-10-06 12:09:51 · 589 阅读 · 0 评论 -
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 · 449 阅读 · 0 评论 -
TableView与CollectionView的区别
原博,也是本人博客1、遵循协议:UITableView:UITableViewDataSource,UITableViewDelegateUIcollectionView:UICollectionViewDelegate, UICollectionViewDataSource,UICollectionViewDelegateFlowLayout2、注册cell:tableview可以不注册cell...原创 2018-05-07 10:32:25 · 1272 阅读 · 0 评论