×

objective-c

黑马程序员-IOS开发基础班之Objective-C第一天学习笔记

wkpsun wkpsun 发表于2024-04-22 浏览4455 评论0
#import指令 以#号开头,是一个预处理指令 作用:是#include指令的增强版,将文件的内容在预编译的时候拷贝写指令的地方 增强:同一个文件无论#import多少次,只会包含一次 简要原理:#import指令在包含文件的时候,底层会先判断这个文件是否被包含,如果被包含会略过,否则才会包含 框架 是一个功能集,苹果或者第三方事先将一些程序在开发程序的时候经常要用到的功能事先写好,把这些功能封装在一个一个的类或者函数中,这些函数和类的集合叫做框架,类似于C语言的函数库 Founda

objective-c

iOS架构设计(二)- MVP(iOS架构设计)

轻语 轻语 发表于2024-04-22 浏览7681 评论0
mvp的阐述基于mvc的基础上调整说明,所以建议还是看完iOS架构设计(一)- MVC 之后再进行阅读 从MVC基础上稍微演化一下 与上篇文章MVC有些许的不一样,首先原来的controller弱化,由presenter来驱动,其实就是代理的驱动角色,现在的viewController其实就是原来view的角色了 还记得上篇文章 数据源怎么来的,viewController get到的,主要交代的是MVC布局关系,并没有涉及网络 如果加上网络部分,上文中构建

objective-c

iOS 底层探索篇 —— Cache分析

站住别动我要抱你q 站住别动我要抱你q 发表于2024-04-22 浏览5229 评论0
Cache底层分析 cache结构猜测 之前我们在获取bits的时候,是通过内存平移,那么我们获取cache,也可以通过内存平移。isa和 superclass都是8位,所以需要平移16位才能获得cache。 我们在lldb中得到LGPerson类的地址,然后平移16位,并将其转为cache_t *类型,然后将里面的内容打印出来。 这里我们就获得了cache_t的数据。 对比一下在源码里的结构,证明确实是cache_t的数据。在这里我们不知道到底哪个才是我们想要的数据,所以我

objective-c

iOS16新特性及开发适配(ios开发ios15适配)

曜杨 曜杨 发表于2024-04-22 浏览8862 评论0
一、新特性 iOS 16 满载全新的个性化功能、更具深度的智能技术,以及更多无缝的沟通与共享方式,让 iPhone 的体验更进一步。详细的系统新特性请查看 Apple 发布iOS16预览(中文版) 二、开发者适配 IDE环境相关升级: Xcode 14.0+、macOS 12.4+ Xcode 14 Beta 3 传送门:https://developer.apple.com/services-account/download?path=/Developer_Tools/Xcode_

objective-c

WebRTC 实现P2P音视频通话——原生IOS端使用WebRTC实现一对一音视频通话

寒星竹雪 寒星竹雪 发表于2024-04-21 浏览5007 评论0
前言 WebRTC 实现P2P音视频通话——原生IOS端使用WebRTC实现一对一音视频通话将基于前两篇博客<<信令服务器>><<stun/trun P2P穿透和转发服务器>>的基础环境之上实现IOS原生客户端P2P音视频通话。 WebRTC 实现P2P音视频通话——实现一对一音视频通话本文将记录获取摄像头,麦克风的音视频流->连接信令服务器 ->加入房间并创建PeerConnection配置stun/turn服务,设置回调

objective-c

iOS Callkit与Pushkit 的使用手册总结,折腾了我5天烦死了。

盖世火锅店 盖世火锅店 发表于2024-04-21 浏览3910 评论0
首先要说一下,callkit和pushkit的用途。我一开始误会了这个两货的用法导致浪费了很多时间。 callkit是可以让app调出打电话的页面,走打电话的流程,接听,挂掉。大概就是下图这样子。同时让这个通话能出现在通讯录里,所以这个功能一般用于app里的语音聊天,如果配合pushkit就可以实现在锁屏的情况下调出这个页面。 这里我就来简单介绍一下如何集成CallKit与PushKit 要集成,首先就要导入framework,图中的三个framework都要导入,第一个framewor

objective-c

2022年iOS最新面试(底层基础)问题答案(ios面试题及答案2020)

丶 发表于2024-04-21 浏览13570 评论0
每条题目都是自己做的,请点赞三连 Runloop 1、RunLoop 的本质是什么? 答:本质是一个OC对象,内部也有isa指针。 2、Runloop和线程是什么关系? 答:线程和 RunLoop 之间是Key-value的对应关系,是保存在一个全局的 Dictionary 里,线程是key,RunLoop是value,而且是懒加载的。 3、Runloop的底层数据结构是什么样的?有几种 运行模式(mode)?每个运行模式下面的 CFRunloopMod

objective-c

熟悉Objective-C

HappySir¹ HappySir¹ 发表于2024-04-21 浏览5976 评论0
一、Objective-C的起源 Objective-C与C++、java等面向对象语言类似,不过很多方面有所差别。 该语言使用“消息结构”而非“函数调用”Objective-C语言有Smalltalk演化而来,后者是消息型语言的鼻祖。消息与函数调用之间的区别看上去就像这样: //消息类型(OC) Object *obj = [Object new]; [obj performWith:parameter1 and:parameter2]; //函数类型(C++) object *obj

objective-c

iOS 16 Beta 2值不值得升级 iOS 16 Beta 2升级建议(ios16值得升级吗)

qidouhai qidouhai 发表于2024-04-20 浏览4889 评论0
iOS 16 Beta 2在最近能更新下载了,但很多人想知道的是iOS 16 Beta 2究竟值不值得升级,下面来看看 iOS 16 Beta 2升级建议吧。 iOS 16 Beta 2值不值得升级 苦苦等待两周后,我们迎来了iOS 16 Beta 2 。iOS 16 最主要的变化便是全新的锁屏界面,这也是iOS 16 Beta 2 重点优化的功能。 iOS 16 Beta 2 系统设置—墙纸页面小幅微调,新增「自定义」按钮,可对当前墙纸模糊化处理或替换图片等;使用双卡的 iPhone 会

objective-c

iOS常用的几种锁详解以及用法(ios常用的几种锁详解以及用法视频)

lehehe128 lehehe128 发表于2024-04-20 浏览6586 评论0
锁的种类 互斥锁 自旋锁 互斥锁:保证在任何时候,都只有一个线程访问对象。当获取锁操作失败时,线程会进入睡眠,等待锁释放时被唤醒; 自旋锁:与互斥锁有点类似,只是自旋锁 不会引起调用者睡眠,如果自旋锁已经被别的执行单元保持,调用者就一直循环尝试,直到该自旋锁的保持者已经释放了锁;因为不会引起调用者睡眠,所以效率高于互斥锁; 自旋锁缺点: 调用者在未获得锁的情况下,一直运行--自旋,所以占用着CPU,如果不能在很短的时间内获得锁,会使CPU效率降低。所以自旋锁就主要用在临界区持锁时