Object-C第一课,我们要注意到的小细节

C语言丨引入头文件时,这个细节你注意到了吗? 今天说一个我在工作时候发现的一个细节,可能大家都已经清楚的知道了,我就在这里记录一下吧。不想看过程的直接去文末看结论吧。 声明一下:以下源文件就是.c文件,头文件就是.h文件。 编程规范规定,头文件里面不能include其他文件,只能在源文件中include使用到的头文件,防止头文件重复包含。对于我这种平时没这个规范习惯的人来说,就有疑问了。假如我有头文件a.h和b.h,a.h中定义了一个结构体数据类型,而我在b.h中是要使用这个数据类型的,一般情况我会直接在b.h这个头文件中包含a.h。这样. 阅读详情

在Xcode里编译.m文件时可以自己决定是否手动引用,Xcode自动选择的是自动引用:

命令行编译时也可以用得着,例:clang XXX.m -framework Foundation -fobjc-arc

-fobjc-arc 自动引用的编译

-fno-objc-arc  手动引用的编译


强调“-”与字母之间不可有空格,它们是一个整体,不要随意分开它们。


使用NSLog时,带有下划线作首的变量优先级要高一些。(oc约定)

约定很重要,在符合语法的情况下它大于一切。


[[Car alloc] init]相当于[car new]

嵌套调用


oc和java一样,也是一门单继承语言,一父多子,记得一子多父的情况是不存在的,想想现实生活中,你也能理解的。


C里面的函数到OC里叫方法了,C中的函数原型到OC里也大有不同:

“-”实例方法,成员方法;OC中对象=实例。

必须建立对象才能调用

“+”静态方法,类方法

不需要建立对象可以直接调用

记得方法名中“:”是方法名的一部分,千万别随便省了它,方法名(变迁)都可以省“:”绝对不能省。


如果你编译时看到“unrecognized selector“错误了,不要着急,你以后可能和它常见面,但你得知道它大多数时候只是想告诉你指针找不到指向的对象了。




Object-C一日速成——环境搭建 要我说,想要学习一门语言,搭建好相关的环境可以达到事半功倍的效果,那么今天我们就来聊一聊关于在windows系统上搭建Object-C语言编程环境的那些事。 文章目录一、基于CodeBlocks的Object-C编程环境搭建1.1 CodeBlocks?那个只会写C语言HelloWorld小白才用的软件?1.2 CodeBlocks能运行Object-C程序?1.3 CodeBlocks搭建O... 阅读详情

相关推荐

科研人必备!用WisPaper搭建个人文献知识库的完整指南(附Zotero联动技巧)

本文详细介绍了如何利用WisPaper搭建高效的个人文献知识库,包括文件命名标准化、文件夹结构设计、语义搜索技巧及与Zotero的深度联动方法。通过智能标签系统和知识图谱功能,科研人员可以快速定位关键文献,提升研究效率。特别适合需要管理大量学术文献的研究者。

weixin_30823001的博客 266

C语言入门第一课

代码是从main 函数开始执行的,main 函数是程序的入口,程序从main函数第一行开始执行;mian函数为主函数。int是整型的意思,main前面的int表示main函数调用返回一个整数值。所以在main函数的最后写上return 0;正好呼应,0为整型。1、main 函数是程序的入口;2、main 函数有且仅有一个;3、即使一个项目中有多个源文件(.c文件),也只能有一个main函数(因为程序入口只有一个)。C语言中有一批保留的名字的符号,比如:int 、if、return等,这些符号被称为。

Z626923的博客 1530

【Nordic实战】nRF54L15引脚规划:电源域、专用引脚与低功耗设计避坑指南

本文深入解析Nordic nRF54L15芯片的引脚规划策略,重点阐述其基于电源域(MCU域、PERI域、LP域)的GPIO分配原则。文章提供了从思维转变到实战避坑的完整指南,强调遵循专用引脚与域对应关系是实现超低功耗设计的关键,并分享了系统化的引脚规划流程与工具使用建议。

weixin_29192141的博客 318

C语言学习-第一课

在VS上写代码,我们是需要创建项目的,直接新建项目就可以了。在项目中就可以添加源文件和头文件。C语言把.c 为后缀的文件称为源文件,把.h 为后缀的文件称为头文件。

water__young的博客 1684

Windows/Mac/Linux三系统保姆级教程:用llama.cpp将safetensors模型转gguf格式(附常见错误解决)

本文提供Windows、Mac和Linux系统下使用llama.cpp将safetensors模型转换为gguf格式的详细教程,涵盖环境配置、转换原理及常见错误解决方案。通过跨平台兼容性处理,帮助开发者高效完成模型格式转换,优化边缘计算性能。

weixin_29227425的博客 269

基于浏览器插件的拼多多买家订单导出方法

基于浏览器插件的拼多多买家订单导出方法

2501_93542170的博客 1713

为什么我不推荐任何人用C语言作为编程启蒙第一课?

写了20多年的代码,之前做过阿里的高级架构师,在技术这条路上跌跌撞撞了很多,我今天分享一些我个人的自学方法给各位。为什么我会说:不推荐任何人用C语言作为编程启蒙第一课?这里有很多同学要站出来说了:“龙叔,我看你是干这行干昏了,人家计算机专业第一课不都是从C语言开始学起么?” 诚然,作为当今众多语言的“爸爸”C语言在编程界的地位目前无人能撼动,但是为什么我还会说不建议2023年的我们仍然用C语言启蒙呢?

qq_53058639的博客 1079

087、DAMO-YOLO Efficient-RepGFPN:重参数化加皇后融合加黄金分割的创新 Neck

DAMO-YOLO的Efficient-RepGFPN创新性Neck结构摘要: 该结构通过三重创新提升目标检测性能: 重参数化卷积:训练时多分支(3x3卷积+1x1卷积+BN分支)提升特征表达能力,推理时合并为单路3x3卷积保证效率; 皇后融合机制:采用可学习权重对不同尺度特征进行自适应加权融合,而非简单相加,通过Softmax归一化权重实现特征选择; 黄金分割连接:优化特征金字塔层间连接方式,按比例分配相邻层特征权重(如P3:P5≈0.618:0.382),减少冗余连接噪声。 实验表明,该结构有效解决了传

ai技术增长的博客 102

Java学习第一课

学习Java学习第一课,不知道你在Java第一课学习到了什么??本文介绍了笔者所学习的Java第一颗!有想法的各位老铁,可以欣赏一下哟!!

weixin_64308540的博客 2611

在 SAP BTP 上为应用开启多租户能力:基于 SaaS Provisioning 和 XSUAA 的完整实践指南

本文介绍了在SAP BTP上配置多租户应用的实战指南。主要内容包括: 多租户架构概述:解释provider子账户、consumer子账户和tenant的概念,以及数据隔离机制。 安全配置:在xs-security.json中设置tenant-mode为shared,并为SaaS Provisioning服务添加回调scope授权。 路由配置:通过manifest.yml设置TENANT_HOST_PATTERN来定义多租户访问模式,确保不同租户通过不同子域名访问同一应用。 服务绑定:将XSUAA和SaaS

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 144

在WSL2中配置代理(Windows)

通过按照上述步骤在WSL2中配置代理,我们可以轻松地在Windows子系统Linux中使用代理服务器访问互联网。请确保提供正确的代理服务器地址和端口号,并根据实际情况进行修改。在WSL2中使用代理是一个常见的需求,它允许我们在Windows子系统Linux中通过代理服务器访问互联网。本文将详细介绍如何在WSL2中配置代理,并提供相应的源代码示例。如果返回的IP地址与代理服务器所在地不同,说明代理正常工作。希望本文能对你有所帮助!如有其他问题,请随时向我提问。替换为实际的代理服务器地址和端口号。

FcUnity的博客 4355

Object-C语法轻松剖析

我们在苹果开发中,总会看到XCode,Interface Builder,Object-c这如此入耳入随的单词,但往往多数人在认为XCODE看着简单,InterfaceBuilder好似操作, 而Object-c却望而生畏,如果作为我们只想需要初学才见的话,理解了它的语法,或者你已经懂了相关如,JAVA,或者C#,或者C,C++等语言的开发后,你会觉得任何一门语言, 熟悉它的语法那是必须的,了

android应用开发详解 1万+

一张图看懂 ABAP CDS 两大子语言:CDS DDL 与 CDS DCL 以及缺席的 DML

ABAP CDS 的核心设计思想围绕语义数据模型(DDL)与数据访问控制(DCL)展开,而非单纯作为SQL查询工具。其DDL通过声明式语法定义业务导向的数据视图,强调模型稳定性与复用性;DCL则将访问控制逻辑下沉到模型层,实现行级权限过滤。ABAP CDS刻意剥离DML功能,交由ABAP SQL处理数据变更,形成清晰的分层架构。这种设计使数据定义、访问控制与应用逻辑解耦,为现代ABAP应用提供更安全、可维护的数据治理方案。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 973

object-c 2.0入门笔记

如同所有其他的面向对象语言,类是Objective-C用来封装数据,以及操作数据的行为的基础结构。对象就是类的运行期间实例,它包含了类声明的实例变量自己的内存拷贝,以及类成员的指针。Objective-C的类规格说明包含了两个部分:接口和实现。接口部分包含了类声明和实例变量的定义,以及类相关的方法。面向对象的概念,如封装,继承以及多态,在Objective-C中都有所体现。和C语言相同的地方是,用单引号表示一个字符,用双引号表示一个字符串。方法有两类,一类是实例方法用-号标识,一类是类方法用+号标识。

snowpiaop的专栏 784

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

2018.11.28 C学习第一课

2018.11.28 C学习第一课 continue:

qq_43613919的博客 156

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

C语言初学第一课

一.C语言是什么? 二.C语言的历史与辉煌 三.编译和链接 四.IDE的认识 五.源文件、头文件的介绍 六.main函数 七.printf和库函数 八.关键字介绍 九.字符和ASCII编码

ye_jinling的博客 963

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

这些C语言的细节你可能一直都没有注意到-------C/C++语言初阶刷题记录

C语言细节 易错点在于数组没有初始化长度,上面的有'\0',下面的没有,C语言语法规定字符串自动追加'\0'. 2. 一维数组能如此初始化?显然不行 所以下面这题答案自然出来了,选D: 3. 答案:B 解释:全局可以在任何一个地方调用,很难保证数据的准确性和安全性 4. 函数不可以嵌套定义,但是可以嵌套声明(一般声明在全局里) 5. 答案:C 无限递归?内存有限,递归次数多了就栈溢出了 6. 递归...

m0_53005929的博客 2278

Object_c底层细节

看iOS高级编程的时候有看过,不过这个讲的跟那个还不太一样。 这些都很重要。原文地址:Object_c底层细节作者:Capacity 首先我们来看一下c语言中的struct的内存表示: typedef struct intStruct {   int i; }intStruct; 结构体在内存中的表示为: 00 00 00 0A 如果我们简单的定义一个int并赋值,这个in

Saick的专栏 669

C语言第一课

这是C语言的学习笔记,1万字的文章大概的讲了一下C语言中的知识点,后期会做更多的补充。 喜欢的小伙伴可以点赞支持一下,你们的点赞也是我更新的动力!

weixin_43523785的博客 1161

C语言学习第一课-C语言常见概念

有很多种:msvc、clang、gcc……它们编译的使用场景和具体处理有所不同,就是相同的代码输给编译器也可能产生不同的意思,一般来说是不能兼容的,所以找开源代码的时候要注意看它支持的是什么编译器。VS其实没有专门的C语言选项,但由于C++能够兼容C,所以选C++,然后在“名称”栏把表示C++的源文件的“.cpp”改成C语言的源文件格式“.c”就可以啦。,它的优点在于主流、使用普遍、功能强大、直接安装(基本不用额外配置环境),最重要的是免费,小缺点则是占用空间相对大些,不过这在现在的电脑上也不成问题。

tropic_xxx_001的博客 825

C语言细节

你在 scanf(“%s %s”, &students[n].name, &students[n].classID) 里加了 &,虽然不会报错,但它实际上是 未定义行为(UB,Undefined Behavior),只是刚好没出问题。⚠ 尽管 &students[n].name 不是 char*,但它的地址数值和 students[n].name 一样,某些编译器可能不会报错,所以代码可能能跑,但它是错误的。)[50](指向 char[50] 的指针),但 scanf(“%s”) 期望的是 char。

flowerxxxxx的博客 935

C/C++细节

在C++中,当复制对象时,如果对象包含指向动态分配内存的指针,那么需要执行深拷贝(即复制指针指向的内容)而不是浅拷贝(仅复制指针本身)。:在C/C++中,函数参数是按值传递的,这意味着如果你传递一个数组或结构体到函数中,实际上传递的是它们的副本,而不是原始数据。:在C/C++中,局部变量不会自动初始化,它们的初始值是未定义的。:在C/C++中,数组越界访问并不会被编译器检测到,而是可能导致运行时错误或不可预见的行为。:C/C++允许隐式类型转换,这可能会导致意料之外的结果,特别是在涉及不同数值类型时。

honev.blog.youkuaiyun.com 909

Object—C基础第一课

一,类和对象   面向对象的核心就是类和对象。   类是具有相同特征和行为的事物的抽象。例如:老师类的相同特征是同属于人类,有学生;相同的行为是要备课,要讲课,要布置作业,要批改作业。   而在OC语言中的类的定义分两部分:第一部分,接口部分是指对外声明类的特征和行为。第二部分,实现部分是指对内实现类的行为。   类是模板,对象是具体表现。 创建对象分两步:分配内存空间和初始化。分配内存

guo41142161994的博客 396

使用storyboard设置按钮边框属性(颜色,宽度,圆角)

通常使用Category时,只能添加方法,不可添加属性。但是在使用Storyboard时我们可能会使用到keyPath,这里设置的key都需要是所设置视图的属性值,并且类型有所限制。 例如:我现在有一个按钮,我想设置成圆角,并且是紫色边框。并且我不想写代码,想通过storyboard直接设置。这样看起来很帅(其实就是一个强迫症吧,因为一直在用sb设置整个界面,但是突然出现几个样式,在sb中不

Welcome~ 1万+
上一篇: ANSI-C中使用引用计数(译)
下一篇: Object-C第二课,会让你找回高中记单词感觉的类属性
SKyu4
博客等级 码龄12年 11粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值