Objective-C
super_man_风清扬
上善若水,人淡如菊!-王威
展开
-
OC原理-isa详解
OC原理-isa详解在OC原理--对象、类的本质这篇文章我们提到过,isa指针进行一次位运算才能,拿到class对象和meta-class对象的真实地址。其实在64位前,isa就是一个普通的指针,存储这class对象、meta-class对象的内存地址。 从64位后开始,对isa进行了优化,变成了一个共用体(union)结构,用不同的位域来存储不同的信息从上图我们也可以看到isa是一个共用体结构。union isa_t { Class cls; uintptr_t bi..原创 2020-12-16 10:50:30 · 807 阅读 · 0 评论 -
iOS人脸识别 用苹果api<AVFoundation/AVFoundation.h>
Demo 地址 : https://github.com/wwpeter/FaceID.githttps://img-blog.csdnimg.cn/2020072417iOS 系统自带了人脸识别的方法,而且非常简单。无论针对图片 or 摄像头,都有系统级方法。一、使用 AVCaptureVideoDataOutput 需要实现AVCaptureVideoDataOutputSampleBufferDelegate 的代理方法。这个 delegate 会返回每个视频帧给我们,但不是我们常原创 2020-07-24 17:43:53 · 3313 阅读 · 0 评论 -
OC习题和答案
@implementation LWTest/* 1.找出数组中单词最多的元素(15分) 数组中的元素都是字符串,字符串中的单词以空格隔开,返回数组中单词最多的元素的索引(注:单词个数都不一样) 传入:@[@"hello world", @"Oh my God Jone", @"What the fuck"] 返回:1 */- (NSUInteger)index原创 2015-12-21 10:55:23 · 1241 阅读 · 1 评论 -
OC习题和答案2
/* 1.传入一个字符串,已知字符串只由字母组成,将其中的大写字母转换为小写,小写转换为大写,返回转换后的字符串(15分) 如传入:@"GOODgoodSTUDY",返回@"goodGOODstudy" */- (NSString *)upperExchangeLower:(NSString *)str { NSMutableString *string = [NSMut原创 2015-12-21 11:04:28 · 894 阅读 · 1 评论 -
OC习题和答案3
@implementation LWTest/* 1、计算字符串中所有整数的和(15分) 传入:@"1abc23def456feg7h" 返回:@"487" */- (NSString *)sumOfIntegerInString:(NSString *)str { NSMutableArray *ary = [NSMutableArray new];原创 2015-12-21 11:06:06 · 803 阅读 · 1 评论 -
OC学习 第五节
习题_多类实战1. oc版电子词典2. selector 回顾c语言中:int add(int a, int b) { return a+b;}int sub(int a, int b) { return a-b;}//把 运算法则传入 (函数地址传入)int calculation(int a, int b ,int原创 2015-12-18 10:14:21 · 509 阅读 · 1 评论 -
OC学习 第九节 代理协议
day9 代理和协议================代理设计模式比如工人工作,要求发工资,他自己不能给他自己发工资,由老板发工资,老板在这里就是工人的代理比如工人工作之后,老板要发工资,老板对财务不太懂,委托给财务人员发工资财务就是老板的代理,他负责发工资给员工。你要注册公司,要去工商局注册。交给托管公司给跑,他们帮你注册公司。在这里,托管公司就是你的代原创 2015-12-18 10:56:09 · 570 阅读 · 1 评论 -
OC学习第十一节Json
==============day11 JSON==============什么是json?JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。采用完全独立于语言的文本格式,易于人阅读和编写,同时也易于机器解析和生成(网络传输速率)。中文名JavaScript 对象表示法JSON 语法是 JavaScript 对象表示语法的子集。原创 2015-12-22 09:15:21 · 753 阅读 · 1 评论 -
OC学习深浅拷贝
浅拷贝:只拷贝引用(指针), 不拷贝对象空间(不创建新的对象空间,只是使对象的引用计数器加1)深拷贝:不拷贝引用,拷贝的是整个对象空间,即拷贝时会创建新的对象空间,空间内容和原来内容相同。copy mutableCopy对于自定义对象是一样的copy mutableCopy对于系统的基本类是有区别的NSString NSMutableString NSArray NSMutab原创 2015-12-22 09:16:37 · 533 阅读 · 1 评论 -
OC学习第十二节 XML解析
==============day12 xml解析==============xml是可扩展性标记语言Extensible Markup Language。类似于HTML,是从HTML衍生出来的一种语言。但HTML被设计出来的目的是展示数据,而XML被设计出来是为了展示和存储数据。XML没什么特别的,就是单纯的文本文档,有能力处理文本文档的软件,通过不兼容的系统之间可以轻松的交原创 2015-12-22 09:21:04 · 774 阅读 · 1 评论 -
OC学习 第十三节 block
day13 block============C函数指针回顾#import int add(int a, int b) { return a + b;}int sub(int a, int b) { return a - b;}int calculation(int a, int b, int (*p)(int, int)) {原创 2015-12-22 15:21:56 · 523 阅读 · 0 评论 -
OC学习 第十节 文件管理
========================day10 文件管理&Plist&归档========================一、NSFileManager文件管理器查看 创建 拷贝 移动 删除 等等#import #define PATH @"/Users/liuweizhen/Desktop/WeiZhenDir"int main(原创 2015-12-18 10:57:31 · 565 阅读 · 1 评论 -
OC学习 第八节 NSData NSSet
===================day8 Foundation杂类===================# 回顾C模拟内存的引用计数—————————————————————# 模拟自定义autoreleasepool—————————————————————# 基本数据类型怎么存放到OC数组中?NSNumber initWithLong:… init原创 2015-12-18 10:53:33 · 847 阅读 · 1 评论 -
OC学习 第七节 手动内存管理
回顾malloc freeJAVA C# GC Garbage collection 垃圾回收机制mac osARC Automatic Reference Count 自动引用计数MRC Manual Reference Count 手动管理内存引用计数引用:强引用/弱引用弱引用:assign引用计数# 手动内存管理(Manual Refere原创 2015-12-18 10:51:34 · 498 阅读 · 1 评论 -
OC学习 第二节
字符串1.创建字符串 NSString不可变,并不是说其指向对象不可变 常量字符串 alloc init initWithFormat: initWithString…. C字符串和OC字符串的转化 stringWithCString initWithCString UTF8String unicode (了解) Un原创 2015-12-17 10:24:30 · 560 阅读 · 2 评论 -
OC学习 第三节
3. description3. C数组和OC数组的区别 具有相同的数据类型的集合 int a[10] = {1,’x’,3,4,5}; 不可变数组 NSArray 可变数组 NSMutableArrayOC的数组:任意类型对象地址的集合3. 数组的创建和打印 alloc initWithObjects:原创 2015-12-17 10:28:50 · 643 阅读 · 1 评论 -
OC 习题2的答案
/*1. 输入一段字符串,已知字符串只由字母和空格构成,统计其中的单词个数 (10分) 比如:传入 @"welcom to zhongguo" 返回:3 */- (NSUInteger)countOfWordInString:(NSString *)str { NSArray *ary = [str componentsSeparatedByString:@" "];原创 2015-12-17 17:22:53 · 984 阅读 · 2 评论 -
OC 学习 第四节
1. 回顾 [0 1 2 3 4 5 …] { “xiaoming” -> 小明对象 “xigua”-> 西瓜对象}key - value“001” -> 刘德华key valuehello -> 释义:你好,哈口罗字典{ key 键 value值 “id”:原创 2015-12-17 10:52:46 · 543 阅读 · 1 评论 -
OC 学习 习题 更多
/*1. 已知源数组中的元素都是字符串,字符串由字母和空格组成,将数组元素按单词个数排序后返回 (10分) */- (NSArray *)sortByNumberOfWordsInArray:(NSArray *)arr;/* 2. 编写函数,将某中间目录插入到指定节点处 (10分) 比如 传入字符串 @"haha", 2 和@"/home/qianfeng/myDir"原创 2015-12-17 11:34:38 · 547 阅读 · 1 评论 -
OC 学习 习题2
/*1. 输入一段字符串,已知字符串只由字母和空格构成,统计其中的单词个数 (10分) 比如:传入 @"welcom to zhongguo" 返回:3 */- (NSUInteger)countOfWordInString:(NSString *)str/* 2.已知字符串中有各种字符,返回出现次数最多的字符。如果某些字符个数相同,返回ASIIC码最大的那个。(15分)原创 2015-12-17 12:43:51 · 671 阅读 · 1 评论 -
OC学习 习题
/*1. 输入一段字符串,统计其中的单词个数 (10分) 比如:传入 @"welcome to qianfeng" 返回:3 */- (NSUInteger)countOfWordInString:(NSString *)str ;/* 2.将指定字符串逆序(10分) 比如:传入字符串@"iphone" 返回:@"enohpi" 传入字符串@"beautiful"原创 2015-12-17 11:12:14 · 1405 阅读 · 3 评论 -
oc学习 习题更多的答案
/*1. 已知源数组中的元素都是字符串,字符串由字母和空格组成,将数组元素按单词个数排序后返回 (10分) */- (NSArray *)sortByNumberOfWordsInArray:(NSArray *)arr { NSMutableArray *ary1 = [NSMutableArray new]; NSMutableArray *arr0 =原创 2015-12-17 17:53:08 · 630 阅读 · 1 评论 -
oc 学习习题答案
/* 1.对称的数组(10分) 传入一个数组,其元素类型与个数皆未知,返回新数组,由原数组的元素正序反序拼接而成。 //参数arr 表示原数组地址 //返回值是新数组的地址 传入:@[@"one", @"Two", @"Three"] 返回:@[@"one", @"Two", @"Three", @"Three", @"Two", @"one"原创 2015-12-17 17:54:30 · 1962 阅读 · 1 评论 -
OC学习 第六节
点语法和继承NSArray *arr = nil;NSMutableArray *arr2 = nil;[arr sortedArrayUsingSelector:(SEL)];[arr2 sortedArrayUsingSelector:(SEL)];[arr2 sortUsingSelector:(SEL)];sortedArrayUsingSelector:方法是生成原创 2015-12-18 10:18:25 · 557 阅读 · 1 评论 -
OC学习 第一节
1. 编程思想C 面向过程 解决的是数学逻辑 按照步骤一步一步完成比如开空调 1. 找到遥控器 2. 对准空调 3.按我们 开 空调开门 门是我们开的OC Objective-C 面向对象思想 C++ JAVA C# ...OOP Objective-oriented programming, 是一种思想,一种程序设计范例,将对象作为程序的基本单元,将程序和数据封装原创 2015-12-17 10:20:05 · 998 阅读 · 1 评论