- 博客(35)
- 收藏
- 关注
原创 iOS 分类category 源码解析
第一部分:有关分类的本质、原理Q:分类的对象方法,类方法都存在哪里?一个类的所有分类的 对象方法放在类对象中,所有分类的类方法存放在元类中clang查看编译文件xcrun -sdk iphoneos clang -arch arm64 -rewrite-objc NSObject+Test.m编译文件NSObject+Test.cpp中有关分类内容//声明结构体struct _c...
2019-09-05 15:59:35
338
原创 iOS 分类 category(一)
Category是Objective-C 2.0之后添加的语言特性,分类、类别其实都是指的Category。Category的主要作用是为已经存在的类添加方法。Objective-C 中的 Category 就是对装饰模式的一种具体实现。它的主要作用是在不改变原有类的前提下,动态地给这个类添加一些方法。分类优点声明私有方法分解体积庞大的类文件把Framework私有方法公开模拟多继承(...
2019-09-05 15:54:58
356
原创 假期 代码 真香
这学期天天早起的日子终于结束了 回家想睡多久就睡多久是真的爽,但是为啥睡眠时间过长我也会愧疚......距离正式进入学习状态刚好一周啦,说起在家敲代码,以前根本想都不敢想自己会在没人监督的情况下坚持下来,但从这一周的情况来看,表现还好哈哈哈佛系生活延用暑假留校时的时间表,早上看数电,下午两点半开始敲项目,吃饭,晚上七点左右继续,有的时候觉得太枯燥了就刷剧啊看着自己的代码水平以肉眼可见...
2019-01-26 18:55:27
368
原创 贝塞尔曲线下的动画效果
最近有一个需求是这样的:点赞后变化的数字从VIew的底部上浮到label的text的对应的需要改变的数字位置,替换该数字。(也就是说,如果点赞前该数字是158,点赞后变成159,那么从View底部飘上来的数字只有9)。实现这个路径动画有多种方法,首次尝试使用CAKeyframeAnimation+贝塞尔曲线绘图。下面是贝塞尔曲线的实现原理:贝塞尔曲线,可以通过三个点,来确定一条平滑的曲线。...
2018-12-05 20:27:09
1209
原创 JSON解析 JSON的序列化与反序列化
viewController.m文件的使用:#import "ViewController.h"//**********确保透明传输的安全性@interface ViewController ()@end@implementation ViewController//触碰任意地方触发事件- (void)touchesBegan:(NSSet<UITouch *&g...
2018-08-18 17:28:11
805
原创 UI控件 NSURLSession相关代理方法
viewCOntroller.m文件实现:#import "ViewController.h"@interface ViewController ()<NSURLSessionDataDelegate>@property (nonatomic, strong) NSMutableData * resultData;@end@implementation ViewC...
2018-08-18 17:27:09
229
原创 UI控件 NSURLSession的基本使用
viewController.m文件的实现:#import "ViewController.h"@interface ViewController ()@end@implementation ViewController//**********确保透明传输的安全性- (void)touchesBegan:(NSSet<UITouch *> *)touches ...
2018-08-18 17:26:35
192
原创 OC 是好玩的Objective-C啊
留校一个月,终于明白为什么会说这一个月学的比之前一年学的都要多了,也深切感受到了差距这个词存在的意义,所幸大家在互帮互助下都很好的完成了留校任务,真的是一年更比一年强啊,上一届留校3个项目 网易云 share 天气预报 到暑假结束才堪堪完成,今年新增了学生管理系统(封装与UI控件的结合) 我们以一周一个的速度轻松完成,并且还剩下一天半的时间可以写写总结 敲敲感想。四个项目写下来,突然有一种无所不...
2018-08-18 10:44:46
284
原创 UI控件 20 UICollectionViewCell
创建步骤1.实现两个协议 UICollectionViewDataSource,UICollectionViewDelegate2.创建UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc]init];3.设置 flowLayout的属性 item大小 列距 行距等4.初始化UICo...
2018-08-03 19:54:59
144
原创 UI控件19 分栏控制器基础
1.与导航控制器的区别:导航控制器管理的是有层级关系的控制器。UITabBarItem:分栏按钮元素对象badgeValue:分栏按钮提示信息viewControllers:分栏控制器管理数组selectedViewController:分栏控制器选中的控制器对象删除storyboard++首先创建三个类 继承于UIViewControllerAppDlegate.m文件实现:...
2018-08-03 19:54:27
290
原创 UI控件 18 UITableView单元格
1.UITableViewCell:数据视图单元格类型2.dequeueReusableCellWithIdentifier:获取可以复用的单元格对象3.initWithStyle:根据风格创建单元格对象4.reuseIdentifier:设置可以复用单元格的IDAppDelegate.m文件实现:#import "AppDelegate.h"#import "ViewContro...
2018-08-03 19:53:53
140
原创 UI控件17 登录界面案例
1.登录界面的构成2.登录界面的控件创建3.登录界面的功能实现ViewController.h文件声明:#import <UIKit/UIKit.h>@interface ViewController : UIViewController{ //登录界面的组成: //用户名提示(用label):输入框(UITextField) //密码提示(...
2018-08-03 19:53:24
630
原创 UI控件17 UITable高级协议 (最终)
删去Main.storyboardAppDelegate.m文件实现:#import "AppDelegate.h"#import "ViewController.h"@interface AppDelegate ()@end@implementation AppDelegate- (BOOL)application:(UIApplication *)applicati...
2018-08-03 19:52:44
133
原创 UI控件 16UITable协议(2)
1.heighForRowAtIndexPath:获取单元格高度协议2.heightForHeaderInSection:数据视图头部高度协议3.heightForFooterInSection:数据视图尾部高度协议4.titleForFooterInSection:数据视图尾部的标题协议5.titleForHeaderInSection:数据视图头部标题协议ViewControlle...
2018-08-03 19:52:05
140
原创 UI控件16 UITableView基础(1)
1.dataSource:数据代理对象2.delegate:普通代理对象3.numberOfSectionslnTableView:获得组数协议4.numberOfrowslnSection:获取行数协议5.cellForRowAtindexPath:创建单元格协议首先 数据视图是啥?苹果手机 点击设置出来的一系列选项 可以上下滚动选择ViewController.h文件的使用...
2018-08-03 19:51:35
104
原创 UI控件14 UIScrollView基础
添加图片时不能直接拖拽到工程中(原来一直是拖进去就OK),必须在你想加入图片的地方右键,然后“Add filed to”才可以。如果直接拖拽到工程,永远是null。。。。我累个去ViewController.m文件实现:#import "ViewController.h"@interface ViewController ()@end@implementation ViewC...
2018-08-03 19:51:00
109
原创 UI控件13 UIImageView的使用方法
IOS--UIImageView的使用方法//初始化UIImageView *imageView=[[UIImageView alloc] initWithFrame:CGRectMake(100, 200, 120, 120)]; //需要设置图片 UIImage 第一种:[imageView setImage:[UIImage imageNamed:@"1.jpeg"]]; ...
2018-08-03 19:50:07
154
原创 仿第一个App share App总结
整整一周,把share的登录,注册界面还有进入的5个子界面以及各子界面相连的各个界面写完,感触良多。说实话一开始拿到share的资料文件,一大堆,光各个界面的实现图片就有50M,而我作为一个objective-C 新手,只是在上周刚刚把两个网易云的界面仿写完毕,然后马上就接触了这么复杂的一个APP的具体实现,各个界面的切换,轮播图的实现,聊天界面的运作,自定义cell要完成几乎所有界面,还有关乎...
2018-08-03 19:48:15
720
原创 UI控件12 UIAlertController基础(1)
iOS 8新增加了UIAlertController控制器,用之前的UIAlertview和actionSheet会报警告,这个控制器可以实现警告框和操作表,非常的方便。使用UIAlertController的优势在于不仅可以添加按钮,还可以添加文本框和自定义视图到警告框和操作表中;相应时间可以通过闭包实现,而不用委托协议实现。下面我就介绍UIAlertController的基本使用方法。...
2018-07-26 20:29:33
150
原创 UI控件11 UITextField 代码实战+解析
1.在Deployment Info中调整开发环境到9.0 以便大多数客户都能够使用ViewController.h文件声明:#import <UIKit/UIKit.h>@interface ViewController : UIViewController{ //定义一个 TextFiled 文本输入区域 //例如 用户名,密码,等需要输入文本文字的内...
2018-07-26 20:28:51
166
原创 UI控件 10 UISwitch控件详细解析 代码实战
1.UISwitch控件的概念,创建,属性,应用。Viewcontroller.h文件声明#import <UIKit/UIKit.h>@interface ViewController : UIViewController//创建一个控件属性{ //以UI开头的控件都是属于UIKit的控件 //定义一个开关控件 //可以进行状态的改变 开和关,...
2018-07-26 20:28:11
203
原创 UI控件9 定时器和视图移动详细解析
1.定时器对象的概念2.定时器对象的创建3.使用定时器移动视图ViewController.h文件的声明:#import <UIKit/UIKit.h>@interface ViewController : UIViewController{ //先声明一个定时器对象 //可以在每隔固定的时间发送一个消息,通过此消息来调用相应的事件函数 //通...
2018-07-26 20:27:22
171
原创 UI控件6 UIViewController(2)详细解析+纯代码
1.UIViewController的创建2.UIViewController的生命周期高级3.UIViewController的界面切换ViewController.m文件是使用:#import "ViewController.h"//调用ViewC02.h文件#import "ViewC02.h"@interface ViewController ()@end@imp...
2018-07-26 20:26:48
255
原创 UI控件6 UIViewController(1)详细解析+纯代码
1.UIViewController的概念2.UIViewController的属性3.UIViewController的基本用法4.UIKit框架代码介绍把info.plist文件中的 Main storyboard file base name文件删去在AppDelegate.h文件中 重写AppDelegate.m文件的使用:#import "AppDelegat...
2018-07-26 20:26:19
478
原创 UI控件4 UIWindow项目实战
1.UIWindow的对象概念2.UIWindow和UIView的关系第一步:info.plist中的 Main storyboard file base name 不要使用系统给的,使用自己写的(点击减号删除)AppDelegate.m文件实现:#import "AppDelegate.h"@interface AppDelegate ()@end@implementat...
2018-07-26 20:24:24
119
原创 UI控件 3 UIView基本概念 项目实战
1.UIView的基本概念2.UIView的基本属性3.UIView的层级关系ViewController.h文件的实现:#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad{ [super viewD...
2018-07-26 20:23:21
139
原创 UI控件UIbutton 项目实战
//XCODE有个特点 输入中文以后 后面就不会再有提示了//如果想要出提示,那么中文先不要出,打完该打完的话 再输中文内容:1.UIButton的控件基本概念2.UIButton的创建方法3.UIButton的类型4.可显示图片的UIButton注意还要添加图片 btn01 btn02#import "ViewController.h"@interface ViewCo...
2018-07-26 20:22:28
130
原创 UI 控件 1 UILabel 标签控件 项目实战
//XCODE有个特点 输入中文以后 后面就不会再有提示了//如果想要出提示,那么中文先不要出,打完该打完的话 再输中文1.创建一个UI项目 点击File->project->内容:1.UILalel的概念2.UILabel的基本属性3.UILabel的高级属性UILabel:是能够显示在一个屏幕上的并且可以显示文字的一种UI控件ViewController.m文件实...
2018-07-26 20:19:48
127
原创 西邮杯
问题 C: CONTEST4.翻硬币(BY YAN)#include<stdio.h>#include<string.h>int main(void) { char a[100] = {0}; char b[100] = {0}; scanf("%s",a); getchar(); scanf("%s",b); int i,j,k,m...
2018-06-24 16:45:47
452
原创 【IOS 开发学习总结-OC-31】★★OC之foundation 框架——字典(NSDictionary 与 NSMutableDictionary)
NSDictionary用于保存具有映射关系的数据。NSDictionary集合保存了2组值——一组存 key, 一组存 value。value与 key 都可以是任何引用类型的数据。Map 的 key 不允许重复。value与 key存在但相向一对一的关系。一个 key 对应唯一的一个 value.NSDictionary的功能与用法NSDictionary的创建同样有类方法和实例方法。以 di...
2018-06-06 19:37:57
142
原创 【iOS 开发学习总结-OC-31】★★OC之foundation 框架——字典(NSDictionary 与 NSMutableDictionary)
NSDictionary用于保存具有映射关系的数据。NSDictionary集合保存了2组值——一组存 key, 一组存 value。value与 key 都可以是任何引用类型的数据。Map 的 key 不允许重复。value与 key存在但相向一对一的关系。一个 key 对应唯一的一个 value.NSDictionary的功能与用法NSDictionary的创建同样有类方法和实例方法。以 di...
2018-06-06 19:16:30
245
原创 Objective-C学习笔记
每周更新一次,OC初学者的学习笔记。第一节OC概述 1.#import 作用: 能避免头文件重复包含 值得一提的是Foundation.h把C语言中的所有头文件都包含进去了,且源文件的扩展名为.m. 所以想再释放池中写C 的程序也是可以的2.@autoreleasepool(自动释放池): 在池中对象会自动进行释放,其实不一定都会自动释放。代码写在自动释放池的大括号之内,3.return 0 在@...
2018-05-27 22:01:33
212
原创 第一个小项目:学生成绩管理系统
# 1.一些感受写了大概一个月,中间零零散散修改了很多BUG,第一次写出来700行左右,但经过学长的测试(就是乱输入任何能想到的可能),还是有很多用户上的体验没有考虑到,只是规规矩矩的把该有的功能写出来了。通过这个事明白了用户体验还是挺重要的,,,要把用户当成智商下线的小朋友看待,写出来的东西才合适各个年龄段的人去使用。然后就是开始补需求,基本思路有了,写出来一个case的额外需求后,剩下的就是个...
2018-05-10 15:47:36
597
原创 标准I\O的机理,二进制模式和文本模式,文件输入,输出中需要的各种函数
putc函数:第一个参数是待写入的字符,第二个参数是文件指针,putc(ch,stdout)与putchar(ch)相同而ch = getc(fp)是指从getc指定的文件fp中获取一个字符给chfputs是一种函数,具有的功能是向指定的文件写入一个字符串。成功写入一个字符串后,文件的位置指针会自动后移,函数返回为一个非负整数;否则返回EOF(符号常量,其值为-1)。fgets()函数: 第一个参...
2018-04-11 14:35:48
337
原创 C语言 文件的输入与输出
1.C提供了两种访问文件的途径: 二进制模式和文本模式二进制中: 程序可以访问文件的每个字节, 文本模式中,程序所见的内容与实际内容不同,以二进制模式打开时:rebcca clutched the\r\n; 以文本模式打开时:rebecca clutched the\n 2.如何用标准I/O读取文件和统计文件中的字符数:#include <stdio.h>#include <s...
2018-04-08 18:31:26
8042
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人