当前位置: 首页 > article >正文

object-c 2.0入门笔记

OBJECT-C入门笔记

  • OBJECT-C 2.0的语法特点
    • 文件扩展名
    • 字符串
    • 方法

OBJECT-C 2.0的语法特点

有点类似C和C++,属于C语言超集。
提供类定义,方法和属性。
面向对象的概念,如封装,继承以及多态,在Objective-C中都有所体现。
Cocoa基础

文件扩展名

扩展名内容类型
.h头文件。头文件包含类,类型,函数和常数的声明。
.m源代码文件。这是典型的源代码文件扩展名,可以包含Objective-C和C代码。
.mm源代码文件。带有这种扩展名的源代码文件,除了可以包含Objective-C和C代码以外还可以包含C++代码。仅在你的Objective-C代码中确实需要使用C++类或者特性的时候才用这种扩展名。

字符串

和C语言相同的地方是,用单引号表示一个字符,用双引号表示一个字符串。
但OBJECT-C中常用NSString类来操作字符串。
因为这种字符串使用的非常频繁,Objective-C提供了一个助记符可以方便地从常量值创建NSString对象。在普通的双引号字符串前放置一个@
例如:
NSString* testCmd=@“abcde”;
NSString* anotherString = [NSString stringWithFormat:@“%d %s”, 1, @“String”];
#define Ble @“0x3” // 添加指纹

// 从一个C语言字符串创建Objective-C字符串
NSString* fromCString = [NSString stringWithCString:“A C string” encoding:NSASCIIStringEncoding];

如同所有其他的面向对象语言,类是Objective-C用来封装数据,以及操作数据的行为的基础结构。对象就是类的运行期间实例,它包含了类声明的实例变量自己的内存拷贝,以及类成员的指针。Objective-C的类规格说明包含了两个部分:接口和实现。接口部分包含了类声明和实例变量的定义,以及类相关的方法。实现部分包含了类方法的实际代码。
类声明,以@interface关键字开始,而不是C++中的class
例如:
@interface CDog: CAnimal
{
int age;
NSString *name;
id data;
};

@interface DeviceCommandRequest : NSObject

// 通用发送命令通道

  • (void)sendCommand:(NSString *)code
    params:(NSDictionary *)params
    success:(successResult _Nullable)success
    failure:(failureResult _Nullable)failure;

@end

方法

方法有两类,一类是实例方法用-号标识,一类是类方法用+号标识。
对应c++中的普通实例方法和静态方法,后者不需要实例化。
[self sendCommand:Ble params:params success:success failure:failure];


http://www.kler.cn/a/446550.html

相关文章:

  • 彻底认识和理解探索分布式网络编程中的SSL安全通信机制
  • PCL点云库入门——PCL库中点云数据拓扑关系之K-D树(KDtree)
  • 使用vcpkg安装opencv>=4.9后#include<opencv2/opencv.hpp>#include<opencv2/core.hpp>无效
  • 关于小程序内嵌h5打开新的小程序
  • 智能工厂的设计软件 三种处理单元(NPU/GPU/CPU)及其在深度学习框架中的作用 之5(腾讯云AI代码助手 之3)
  • 安卓环境配置及打开新项目教程,2024年12月20日最新版
  • srping2.0+升级到spring3.0+遇到的问题,es部分记录一下
  • 详解Linux防火墙-Firewalld原理与实战操作
  • 常用的消息中间件(ActiveMQ、RabbitMQ、RocketMQ、Kafka)面试精华
  • Git(10)之忽略指定文件改动
  • iOS 多个输入框弹出键盘处理
  • 我在华为的安全日常
  • 嵌入式硬件面试题
  • Pycharm和Jupyter Notebook的比较【笔记】
  • 【ETCD】【实操篇(六)】使用多种方式从ETCD集群中读取数据【Get keys by prefix】
  • 《商业模式2.0图鉴》读书笔记(如何构建创新驱动的商业模式:打破定律与重塑价值)
  • 使用Redis实现限流
  • 鸿蒙项目云捐助第十九讲云捐助百度智能名片识别
  • YOLO系列正传(三)神经网络的反向传播(back propagation)与公式推导
  • C语言学习-数组练习
  • OB删除1.5亿数据耗费2小时
  • 开放词汇目标检测(Open-Vocabulary Object Detection, OVOD)综述
  • 《计算机组成及汇编语言原理》阅读笔记:p9-p27
  • 构建MacOS应用小白教程(打包 签名 公证 上架)
  • centos7下制作DockerFile 镜像
  • 牛客月赛107