第二部分-Foundation基础-学习导航

专题地址:MacOS一站式程序开发系列专题
在这里插入图片描述

第一部分:基础入门-学习导航

ObjectiveC-第一部分-基础入门-学习导航

第二部分:Foundation基础学习导航

  1. Foundation框架-13-数据对象:主要讲述NSRange, NSString, NSValue, NSNull, NSDate以及NSData对象的使用
  2. Foundation框架-14-数据集合:NSSet, NSArray, NSDict)以及集合过滤(NSPredicate)
  3. Foundation框架-15-ObjectviceC的内存管理:内存管理,了解即可,因为在5.4之后内存全部变为自动的不需要手动处理
  4. Foundation框架-16-文件处理一:文件目录和文件操作
  5. Foundation框架-16-文件处理二:文件目录和文件操作
  6. Foundation框架-17-数据归档与解压:文本和对象序列化操作
  7. Foundation框架-18-并发程序基础:并发程序入门基础

以上全是属于基础内容吧,需要越精通越好,当然了笔者描述的也只是皮毛部分。要想精通需要多练习,快速记住各个API的用法。

在这里插入图片描述

关于Objective开发语言

生态体系

开发Apple公司相关产品的软件时,主要有两个框架可供使用:Cocoa和Cocoa Touch。Cocoa是一个开发Mac OS系统应用的开发工具包,而Cocoa Touch工具包主要用于IOS系统应用的开发,可以简单理解为Objective-C是一种编程语言,而Cocoa是开发框架,发展至今天,Apple Develop开发体系大体如下图所示:
在这里插入图片描述

上图中有几点需要详细说下明:

  • . Foundation:这是一个ObjC语言的核心扩展包。它并没有内置于Objective-C语言中,也不包含任何UI元素,所以可以在不同的平台通用,大概提供了100多个扩展类;

  • . Cocoa:MacOS系统应用开发框架,它提供了丰富用户体验的UI框架,由Foundation库、用于数据管理的CoreData框架以及AppKit图形化框架组成;

  • . Cocoa Touch:IOS系统应用开发框架,它提供了丰富用户体验的UI框架,它包括Foundation库、用于数据管理的CoreData框架以及UIKit库,UIKit可以看成是简版的Appkit,同时附加了比如wifi
    、gps等API;

  • Swift:一种后期开发的Apple系统应用软件的开发语言,原因是作为一门比较老的语言,
    Objective-C缺少很多现代语言所具备的高级特性。可以简单理解为Swift是为了弥补ObjC的缺陷而开发的一种语言,ObjC与Swift可以相互调用,所以在同一项目中可以并存;

  • 关于Foundation

Foundation是在早期的CoreFoundation框架的基础上开发的,开发时也可以使用CoreFoundation(但不建议),在帮助文件中以CF开头的全是CoreFoundation中的对象;

在这里插入图片描述

  • Macos X kernel:内核以设备驱动程序的形式提供与硬件的底层通信。它负责管理系统资源,包括调度需要执行的程序、管理内存和电源,以及执行基本的I/O操作。
  • Core services:核心服务提供的支持比它上面层次更加底层或更加“核心”。例如,提供对集合、网络、调试、文件管理、文件夹、内存管理、线程、时间和电源的管理。
  • Application Services:应用服务层包含打印和图形渲染的支持,包括Quartz、OpenGL和Quicktime。
  • Cocoa:开发框架,Cocoa包括Foundation、Core Data和AppKit框架。Foundation框架提供处理集合、字符串、内存管理、 文件系统、存档等相关的类。AppKit框架提供管理视图、窗口、文档和使Mac

开发文档

在Foundation中有125个可用的头文件(还在增加),通过import <Foundation/Foundation.h>的方式导入。为了不与其它框架的语言冲突,所有的系统类对象都以 NS 开头。

Xcode中获取

在这里插入图片描述

查阅Online文档

https://developer.apple.com/documentation/
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/565093.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

从旺店通·企业奇门到用友BIP通过接口配置打通数据

从旺店通企业奇门到用友BIP通过接口配置打通数据 接入系统&#xff1a;旺店通企业奇门 旺店通是北京掌上先机网络科技有限公司旗下品牌&#xff0c;国内的零售云服务提供商&#xff0c;基于云计算SaaS服务模式&#xff0c;以体系化解决方案&#xff0c;助力零售企业数字化智能化…

CLAHE算法上新

加入我们的FPGA实现CLAHE算法课程&#xff0c;探索图像增强的前沿技术&#xff01; [课程名称]&#xff1a; FPGA实现对比度受限自适应直方图均衡化&#xff08;CLAHE&#xff09;算法 [授课方式]&#xff1a; 录播课程 互动讨论 实践操作 在线答疑 课程简介&#xff1a; 在…

Vue2之组件通信(爆肝)

大家有什么想看的可以在评论区留言&#xff0c;我尽量满足&#xff0c;感谢大家&#xff01; 组件通信是vue中一个非常重要的内容&#xff0c;我们需要掌握好组件通信&#xff0c;那么让我为大家介绍几种组件通信的方式吧&#xff01; 一、props 这是父传子的方式&#xff0…

贪吃蛇代码实现

一.基本信息 实现目标&#xff1a;使用C语言在Windows环境的控制台中实现贪吃蛇游戏 游戏运行&#xff1a; 地图绘制基本玩法提示信息游戏的开始与结束 基本玩法&#xff1a; 通过上下左右键控制蛇的移动蛇可以加速减速吃掉食物可以得分并增加蛇的长度可以自动暂停 游戏结…

Macs Fan Control Pro for Mac:全面优化Mac风扇控制软件

Macs Fan Control Pro for Mac是一款专为苹果电脑用户设计的风扇控制软件&#xff0c;旨在通过精确的风扇速度调节&#xff0c;全面优化Mac的散热性能&#xff0c;确保系统始终运行在最佳状态。 Macs Fan Control Pro for Mac中文版下载 该软件具备实时监控功能&#xff0c;能够…

HarmonyOS ArkUI实战开发-NAPI异步编程

笔者在前 5 小节里讲述了在 OpenHarmony 上通过 NAPI 的方式实现了 JS 调用 C的能力&#xff0c;但是这些实现都是同步的&#xff0c;本节笔者简单介绍一下 NAPI 的异步实现。 约定编程规范 ArkUI 开发框架对外提供的 API 命名是需遵守一定规范的&#xff0c;以 ohos.display…

初学python记录:力扣39. 组合总和

题目&#xff1a; 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target &#xff0c;找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 &#xff0c;并以列表形式返回。你可以按 任意顺序 返回这些组合。 candidates 中的 同一个 数字可以 无限…

【STM32】嵌入式实验二 GPIO 实验:数码管

实验内容&#xff1a; 编写程序&#xff0c;在数码管上显示自己的学号。 数码管相关电路&#xff1a; PA7对应的应该是段码&#xff0c;上面的图写错了。 注意&#xff1a;选中数码管是低电平选中&#xff1b;并且用74HC595模块驱动输出的段码&#xff0c; 这个模块的学习可以…

echarts折线图默认不显示数据圆点,鼠标划上之后折线图才显示圆点

只需要设置showSymbol为false就可以了&#xff0c;表示只在 tooltip hover 的时候显示。 代码如下&#xff1a; option {tooltip: {trigger: axis},xAxis: {type: category,data: [Mon, Tue, Wed, Thu, Fri, Sat, Sun]},yAxis: {type: value},series: [{data: [150, 230, 224…

【智能算法】寄生捕食算法(PPA)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献 1.背景 2020年&#xff0c;AAA Mohamed等人受到自然界乌鸦-布谷鸟-猫寄生系统启发&#xff0c;提出了寄生捕食算法&#xff08;Parasitism – Predation Algorithm, PPA&#xff09;。 2.算法原理 2.1算法…

HTML使用jQuery实现两个点击按钮,分别控制改文本字体颜色和字体大小

jQuery 简介 jQuery 是一个广泛使用的 JavaScript 库&#xff0c;旨在简化对 HTML 文档的操作、事件处理、动画效果和 AJAX 等操作。 案例源码 <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name&q…

【C++】学习笔记——类和对象_4

文章目录 二、类和对象13.运算符重载赋值运算符重载 14. 日期类的实现Date.h头文件Date.cpp源文件test.cpp源文件 未完待续 二、类和对象 13.运算符重载 赋值运算符重载 我们之前学了一个拷贝构造函数&#xff0c;本质上就是创建一个对象&#xff0c;该对象初始化为一个已经…

go-cqhttp 机器人使用教程

API | go-cqhttp 帮助中心 参考 | go-cqhttp 帮助中心 机器人下载 发送消息 http://127.0.0.1:5700/send_msg?message_typeprivate&user_id911412667&message你好呀 检查端口是否打开 netstat -ano | findstr :5701 发送的请求 软件的dopost的解析 Overridepro…

Learn ComputeShader 02 Multiple kernels

前面已经成功创建了第一个compute shader&#xff0c;并且使用它替换掉quad的材质的纹理&#xff0c;现在我们将要在计算着色器中创建多个kernel。 首先调整上次的计算着色器&#xff0c;让它显示为红色。 然后再次创建一个kernel&#xff0c;显示为黄色。 结果应该是这样的…

【算法刷题】手撕LRU算法(原理、图解、核心思想)

文章目录 1.LRU算法1.1相关概念1.2图解举例1.3基于HashMap和双向链表实现1.3.1核心思想1.3.2代码解读1.3.3全部代码 1.LRU算法 1.1相关概念 LRU&#xff08;Least Recently Used&#xff0c;最近最久未使用算法&#xff09;&#xff1a; 定义&#xff1a;根据页面调入内存后的…

【Vue3】$subscribe订阅与反应

&#x1f497;&#x1f497;&#x1f497;欢迎来到我的博客&#xff0c;你将找到有关如何使用技术解决问题的文章&#xff0c;也会找到某个技术的学习路线。无论你是何种职业&#xff0c;我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章&#xff0c;也欢…

大模型实战—用户反馈分析

大模型实战—用户反馈概要提取 前面我们已经本地部署了大模型,正好公司有一个业务,可以用来练练手,业务背景是这样的,我们的产品上有一个用户反馈的功能,里面积累了有史以来用户对产品的反馈,公司现在想要分析一下用户目前对产品的评价,以及用户关注的点是什么。关于之…

OpenHarmony开发实例:【 待办事项TodoList】

简介 TodoList应用是基于OpenHarmony SDK开发的安装在润和HiSpark Taurus AI Camera(Hi3516d)开发板标准系统上的应用&#xff1b;应用主要功能是以列表的形式&#xff0c;展示需要完成的日程&#xff1b;通过本demo可以学习到 JS UI 框架List使用&#xff1b; 运行效果 样例…

vector的底层与使用

前言&#xff1a;vector是顺序表&#xff08;本质也是数组&#xff09; 文档参考网站&#xff1a;https://legacy.cplusplus.com/reference/vector/vector/vector/ //底层代码 #include<assert.h> #include<iostream> #include<vector> #include<string&g…

实现Spring底层机制(阶段1—编写自己的Spring容器,扫描包,得到bean的Class对象)

环境搭建抛出问题 1.环境搭建 1.创建maven项目 2.导入依赖 <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 http://maven.ap…