@符号在Objective-c中表示什么意思

GCC支持Objective C的故事?Objective-C?GCC只能编译C语言吗?Objective-C 1.0和2.0有什么区别? Objective-C 主要由 Stepstone 公司的Brad Cox和 Tom Love 在1980 年左右发明。乔布斯离开苹果公司后成立了NeXT STEP公司, 买下了Objective-C 语言的授权。GCC对Objective-C语言的支持是在1992年加入的,具体是在GCC 1.3版本中首次引入的。GCC的后续版本继续改进了对Objective-C的支持,包括对Objective-C++的支持,后者允许在同一个源文件中混合使用Objective-C和C++代码。 阅读详情

这几天在学习研究Objective-C,以便于日后维护IOS项目,看了一些源码,发现这个字符串变量声明与赋值跟Java有点特别,于是查阅文档发现这是跟C风格区分开来的

Objective-C框架通常不使用C样式的字符串。相反,它们将字符串作为NSString对象传递。

 

NSString类为字符串提供对象包装,它具有您所期望的所有优点,包括用于存储任意长度字符串的内置内存管理,对Unicode的支持,printf样式的格式化实用程序等。由于此类字符串是常用的,因此Objective-C提供了一种从常量值创建NSString对象的简写符号。要使用此速记,您需要做的是在普通的双引号字符串前加上@符号,如以下示例所示:

 

NSString *myString = @"My String\n";

NSString *anotherString = [NSString stringWithFormat:@"%d %@", 1, @"String"];

ObjC为什么用@前缀?GCC支持Objective C的故事?什么是Xcode?NSString *s = @“hello“变量s是不可变的吗?NSLog和printf的区别?ObjC和C语言? Xcode是由苹果公司开发的一个集成开发环境(IDE),主要用于开发macOS、iOS、iPadOS、watchOS和tvOS应用程序。Xcode包含了编译器、调试器、模拟器、图形界面设计(Interface Builder)、代码编辑器、文档和API库等工具,为开发者提供了一个全面的开发和测试平台。Xcode于Mac平台地位等同于Visual Studio于Windows的地位。它可开发Swift、C、C++、Objective-C、Objective-C++等语言,默认采用git版本控制。 阅读详情

相关推荐

Objective-C学习之路-由浅入深

一、Objective-C简介Objective-C 简称OC /Obj-c Objective 是面向对象的,OC是在C语言的基础上添加了一些新的面向对象的语法,比较繁琐的语法封装的更为简单,所以在学习Objective-C之前大家必须去学习C语言一些基本的语法之类,这里我也写了C语言的学习博客,去学习C语言,大家可以参考一下。 所以OC它是完全兼容C语言的,我们可以在任何的OC语言中写任意的

王涛的博客 2万+

Objective-C中@,[], /, *等符号说明iOS基础入门

我们在程序中看到大量的减号、中括号、中括号、@等等陌生符号,我们下面进行一一解释: 1)减号(或者加号) 减号表示 为实例方法,必须使用类的实例才可以调用的。 比如C语言中,一个方法的写法可能是: void hello(bool ishello) { ...... } 用Objective-C写出来就是 -(void) hello:(BOOL)ishello { ...... } 加号表示类方法,这类方法是可以直接用类名来调用的,它的作用主要是创建一个实例。有人把它称为创建实例的

m0_37845126的博客 1764

object-c 基础教程第二版(中文)

object-c 中文经典教程 IOS开发必备

Objective-C中@符号说明

常见的两个功能: 1、将C字符串转换为OC字符串 2、OC中的大多数关键字都是以@符号开头

一个IT人的技术成长历程。 3010

Ubuntu中交叉编译armadillo库

网上关于交叉编译armdillo库比较少,借鉴了一些但是在前几天编译时总是磕磕绊绊,于是写一个详细的编译过程。交叉编译armdillo库包含两个步骤:交叉编译依赖库和交叉编译armdillo库。

weixin_39813867的博客 1879

单细胞转录组肿瘤细胞识别:inferCNV与CopyKAT实战解析

单细胞转录组测序(scRNA-seq)是解析肿瘤微环境的重要技术,但如何从海量细胞中准确区分恶性细胞与正常细胞,始终是数据分析的关键难题。传统marker注释在异质性肿瘤中常失效,而基于拷贝数变异(CNV)的推断方法为这一问题提供了更稳健的解决路径。CNV通过检测染色体大片段的增益或缺失,可在无先验标记的情况下识别恶性细胞,尤其适合实体瘤研究。inferCNV利用染色体滑动窗口分析相对表达量,生成直观的CNV热图;CopyKAT则结合高斯混合模型对每个细胞直接分类,输出肿瘤/正常/非整倍体标签。本文从原理出

weixin_31236101的博客 250

Objective-C中的“@”指令探讨

@imlementation 是编写类的代码部分 @interface 是编写类之前的.h文件 @end 是结束接口文件 @synthesize 指示符为类的属性生成setter和getter方法 @"string" 字符串 @protocol @property @property () 括号里面的内容,目前知道的有 nonatomic retain rea

beyond628393的专栏 309

逆向攻防世界CTF系列40-ReverseMe-120

注意sub_401000main中只传了两个参数,但是跟进后发现四个(可能是隐式传递,放在寄存器里传递了),调试发现a4是输入长度,与最终的you_know_how_to_remove_junk_code比较的是v12(但是并没有被传入),开始怀疑是不是隐式传递了。_mm_xor_si128用于计算128位(16字节)的按位异或,然后通过v14控制循环结束的条件,可以看到v14增长的步长为16,而且通过上面得到的flag值解码得到的字符串为32个字节大小,正好是16的整数倍。

LH1013886337的博客 1410

说说 Objective-C 里的 @()

Intro 在 Objective-C 中我们可以用 @"foo" 来创建一个 NSString 常量,看起来似乎平淡无奇。 但它背后其实比想象的精彩,@ 可以被理解成一个特殊的宏,其接受一个 C 字符串作为参数,也可写作 @("foo")。 之所以说 @ 是一个特殊的宏,是因为其能根据传入的 C 字符串类型不同——C 字符串常量或 C 字符串——在运行时构建返回不同类型

n7800的专栏 669

第零章 序 Chisel教程汇总

笔者目前西安交通大学微电子硕士在读,研究方向为数字集成电路设计与体系结构。鉴于目前RISC-V的火热程度,笔者参与了课题组的RISC-V项目,并了解、学习了颇受关注的新型硬件构建语言——Chisel,当前参与的神经网络加速器设计便是使用Chisel开发的。这是一门敏捷开发语言,据称要比传统的Verilog语言快很多。在亲身使用过后,笔者发现确实快了不少。这主要得益于Scala作为高级语言的简洁风格...

qq_34291505的博客 7万+

安卓中蓝牙免提HFP的一些分析

最近看了一些大牛的博客,无不提到了技术分享的重要性,的确,分享自己的知识不仅仅是与他人讨论并相互提高的过程,更是对自己知识的梳理。希望自己能以此为契机,形成周期性博客分享的习惯。 文章标题为HFP的一些分析,HFP(Hand Free Profile)主要定义了安卓中与接打电话相关的一些功能的实现。本文主要介绍这其中对于HFP非常重要的Service Level Connection的建立。首先...

底层码农 772

objective-c 简单笔记

Objective-C源文件使用“.m”作为文件名的扩展名,Xcode可以编译的文件扩展名如下所示。 .c:C语言源文件、.cc或.cpp:C++语言源文件、.h:头文件、.m:Objective-C源文件、.mm:Objective-C++源文件、.pl:Perl源文件、.o:已经编译的文件。 #import <Foundation/Foundation.h> 在Objective-C语言中,编译器指令以 @ 符号开始,这个符号经常用在使用类和对象的情况 int main

Just for fun的专栏 1509

SAP-ABAP:字符与数值类型转换详细指南

SAP-ABAP:字符与数值类型转换详细指南

baidu_35680696的博客 1480

c 宏 中 # ## @ 分别表示什么意思

c 宏 中 # ## @ 分别表示什么意思

xie__jin__cheng的博客 1256

Android性能优化之Android Profiler

在移动应用开发中,打造一个流畅、省电且不卡顿的用户体验是至关重要的。然而,随着应用功能的日益复杂,内存泄漏、CPU暴涨、网络卡顿以及电量消耗过快等问题常常化身为隐形杀手,悄悄吞噬着用户体验。为了帮助开发者精准定位并解决这些性能瓶颈,谷歌在Android Studio中集成了一款强大的一站式性能分析工具Android Profiler。Android Profiler作为Android Studio内置的实时数据可视化工具,支持运行在Android 5.0及更高版本的设备上。

xiangzhihong8的专栏 202

黑猫带你学eMMC协议第1篇:全网最全emmc协议中文详讲,这份学习框架图,你值得拥有!!!(持续更新中...)

黑猫带你学eMMC协议第7篇:全网最全emmc写保护详解(write protect) 黑猫带你学eMMC协议第8篇:emmc可靠写详解(Write Reliability) 黑猫带你学eMMC协议第9篇:emmc的分区配置(partitioning) 黑猫带你学eMMC协议第10篇:eMMC命令队列详解(CMDQ) 黑猫带你学eMMC协议第11篇:eMMC擦除详解(erase/trim/discard/sanitize/secure erase/secure trim…) 黑猫带你学eMMC协议第12篇:

黑猫奥利奥的博客 2万+

Objective-c 学习笔记(一)

Objective-c的入门。

半面妆 的专栏 1112

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Objective-C基础 (基本语法)

一、关于Objective-C 与  C语言     Objective-C继承了C的全部功能,很好的利用了C语言可移植的特点,当然学习Objective-C需要熟练的掌握C Objective-C,通常写作ObjC和较少用的Objective C或Obj-C,是扩充C的

huhanze的专栏 1529

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Objective-C与C语言的区别

Objective-C与C语言的区别 一、 OC:一切皆对象 创建OC类型的一个对象 在前面添加一个‘*’ @ 表示是一个对象 @"name" @[] @{} @1 %@ 输出一个对象 OC里面的字符串、数组是对C语言数据类型的封装 -提供更多的更方便的操作(方法) 二、一个简单的OC程序 1 int m...

Jian_Ze的博客 1158

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

黑马程序员 Objective-C入门

——- android培训、java培训、ios培训期待与您交流!一、Objective-C基础1.什么Objective-CObjective-C是C语言的一个扩展集。Objective-C是以C语言为基础,在语言中添加了一些微妙但意义重大的特性。 2.第一个Objective-C程序 #import <Foundation/Foundation.h> int main()

千江有水千江月,万里无云万里天。 836

Objective-C基础扩展

摘要:Objective-C是面向对象的编程语言,具有动态运行时特性,完全兼容C语言,基于Smalltalk消息传递模型,支持单继承和协议扩展。基础语法包括#import预处理指令、框架引用、NSLog输出函数以及BOOL类型的使用。核心框架如Foundation提供基础功能,AppKit/UIKit处理UI组件。BOOL本质是signed char,取值为YES(1)/NO(0),使用时需避免与YES直接比较的陷阱。

qq_73659646的博客 692

Objective-C 基础知识

1.Objectvie-C是一门面向对象的语言。 2.import 和 include 都是引入头文件。import引入的文件,可以防止重复包含。include是用预处理指令防止重复包含,如果没有写预处理指令,则无法防止重复包含。 3.Foundation/

heyuze的博客 705

Xcode隐藏SDK C、C++、Objective-C符号

记录一下,设置以下两步,可以实现隐藏C、C++、Objective-C的符号,亲测有效。 xcode 隐藏符号的方法: 1、Perform Single-Object Prelink YES 2、other c flags ...

chenxintao的专栏 1571

初识Objective-C

一、什么是Objective-C Objective-C是C语言的一个扩展集,几乎所有的OS X或IOS平台上的应用程序都是用该语言开发的。由于是对C的扩展,因此本篇以及之后的所有Objective-C相关的文章都将重点介绍Objective-C在C上添加的新特性,那么C的基础此处将不再赘述。 二、简单的Objective-C程序 #import <Foundation/Foundation.h> int main(int argc, const char* argv[]) { NSLog(@

CR7lmz的博客 468

熟悉Objective-C

oc将堆的内存管理抽象出来了,不需要通过malloc与free来分配或释放对象所占的内存,并把这套内存管理架构称为“引用计数”,对象所占据的内存总是分配在“堆空间”中,绝不会被分配在栈上。

2401_86200358的博客 874
上一篇: Linux系统下的归档和压缩(tar,gzip)详解
下一篇: java.lang.RuntimeException: Unable to get provider com.vector.update_app.UpdateFileProvider
JianfeiMa
博客等级 码龄10年 61粉丝 131原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值