黑马程序员---学习笔记16:OC基础(3)

innovus:Clock Gating Check设置与报告 看图后发现,在设置clock gating check之前报告也会有clock gating check的值,这个就是因为timing library中会像reg一样定 library setup time值,如下图。我们常用set_clock_gating_check -setup去过约束Place阶段reg2cgate的时序,以防CTS后由于tree不平导致的时序违例。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧? 阅读详情

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-



oc入门注意事项:

1)@interface,@end和@implementation,@end不能嵌套

2)声明和实现语句需要成对出现,即使声明中没有方法
oc是一种弱语法的语句,在使用过程中可能不按照规范也不出错,但是一定要成对写

3)漏写@end

4)多个类的声明和实现是可以打乱的,但是声明一定要在实现之前写

5)方法的声明不能写在{}里面

6)声明时,不能对成员变量初始化,成员变量不能脱离对象独立存在

7)成员变量要写在{}里面

8)方法不能像函数那样调用

9)成员变量和方法不要用static等关键字修饰,OC中有单独的关键字

10)声明要现在对象使用之前,实现可以写在使用之后


报错的两个明显标志:

1)程序没有退出
2)程序停到一行,显式绿色,开头是:Thread

调用没有实现的方法,是会报错的!!!一定记得去实现定义的方法


对象和方法的关系:

1)对象作为方法的参数:
-(返回值类型)方法名:(类名 *)参数名称;

2)对象作为方法的返回值:
-(类名 *) 方法名:(类名 *)参数名称;

对象作为方法的参数连续传递:

一个对象中可以在成员变量里声明另一个类的对象,这样另一个类的对象就称为自己的成员变量。当然本类中也可以让它类作为自己方法的参数传递进来,在实现该方法的时候,传递进来的它类可以调用它类的方法。这样就完成了使用本类的对象让它类的对象完成一件事。比如士兵使用抢,抢射击。枪类可以作为士兵方法的参数,在该方法中,枪类可以调用抢设计的方法。
当方法中有多个参数时,还可以通过第一个类参数调用该类的方法,而该方法就是需要第二个类参数的。这样第二个类参数完成了两次传递。

NSString类的常见用法:
NSString是OC中常见处理字符串的类之一(还有NSMutableString等)

1)特殊用法:
NSString * s1=@"AAAAA";

2)正规用法:
NSString *s2=[NSString new];
s2=@"BBBB";

3)第三种方式,格式化创建字符串(按照指定的格式创建字符串)
for(int i=1;i<5;i++)
{
NSString *imgName = [NSString stringWithFormat:@"XXXXXX%02d.jpg",i];
NSLog(@"%@",imgName);
}
打印出的是:
XXXXXX01.jpg
XXXXXX02.jpg
XXXXXX03.jpg
XXXXXX04.jpg

4)用一个已经存在的字符串创建新的字符串
NSString *s2=[[NSString alloc] initWithString:s1];
创建的s2和s1的内容一样

NSString类的长度计算方法:
通过NSString类的对象方法length可以获得字符串的长度。

NSUInteger len= [s1 length];//其实返回值是无符号整型的

OC中 中英文都占用1个字符
C语言中UTF-8编码,一个汉字占3字节,

NSString *s1=@"语言";
char *s2="语言";
len =[s1 length]; //len是2

len1=strlen(s2); //len1是6

项目篇:移动平台机械臂视觉定位抓取实施(基于ROS架构) ROS包内容: 这篇日志的目的是快速项目实施,所以详细的部分会不断补充。 1、相机采集包(创建抓取图像服务,单张) Realsense Camera(微软深度摄像头,官方提供ros包) Pylon Camera(basler相机,官方提供ros包) 2、定位算法包(抓取图像,定位标志物) Aruco_ros (二维码定位,官方提供ros包) Apriltag (二维码定位,官方提供ros包)... 阅读详情

相关推荐

DSP TMS320F280049之CCS工程的建立(库函数版)

TMS320F280049 DSP是TI最新出的一款C2000系列的DSP,主频为100MHZ,功能较为强大,具有较多的片上模拟外设。这一节主要讲述如何新建F280049的CCS工程。 Step1.下载文件: 下载C2000Ware软件并安装。下载地址如下: http://www.ti.com.cn/tool/cn/C2000WARE?keyMatch=C2000Ware%2...

fanxianyan1993的博客 1万+

面向对象之封装练习题:士兵与枪

1.题目: 2.代码: 3.结果:

weixin_45649763的博客 604

CanMV K230实战:用MicroPython玩转AI视觉识别(附完整代码)

本文详细介绍了如何使用MicroPython在CanMV K230开发板上实现AI视觉识别,包括环境搭建、摄像头配置、模型部署及优化技巧。通过实战案例(如智能门禁和工业分拣机器人),展示如何快速开发低门槛的嵌入式AI应用,特别适合初学者和嵌入式开发者。

x8y9z0的博客 1145

【面向对象学习笔记day05】面向对象封装案例2+士兵突击+开发枪类+开发士兵类+身份运算符+is 与 == 区别

面向对象封装案例 II 文章目录面向对象封装案例 II目标01. 士兵突击1.1 开发枪类1.2 开发士兵类02. 身份运算符is 与 == 区别: 目标 士兵突击案例 身份运算符 封装 封装 是面向对象编程的一大特点 面向对象编程的 第一步 —— 将 属性 和 方法 封装 到一个抽象的 类 中 外界 使用 类 创建 对象,然后 让对象调用方法 对象方法的细节 都被 封装 在 类的内部 ...

汪雯琦的博客 1005

Apache Paimon-实时数据湖

Flink社区希望能够将 Flink 的 Streaming 实时计算能力和 Lakehouse 新架构优势进一步结合,推出新一代的 Streaming Lakehouse 技术,促进数据在数据湖上真正实时流动起来,并为用户提供实时离线一体化的开发体验。Flink 社区内部孵化了 Flink Table Store (简称 FTS )子项目,一个真正面向 Streaming 以及 Realtime的数据湖存储项目。

m0_57307642的博客 2193

vivado下ECO操作-不重新综合实现修改属性并生成.bit

ECO即engineer change order,即工程变更指令,可以对设计做局部小改动并只对改动部分重新布局布线并生成.bit。在一个工程动辄编译几个小时情况下,可以在调试中节省大量时间。比如我们在调试中,需要改变时钟占空比或者相位,需要改变寄存器初值等等,此时用ECO暂时改动,待验证后在重新编译无疑是最有效率的方法。 实现ECO通常有两种方式,一是通过vivado界面完成,另一种方法就是tcl脚本。所有的ECO操作都可以通过tcl操作完成,有的操作用vivado界面无法完成,只能通过tcl。以下主要

4659

黑马程序员——iOS核心基础(15-16天)-黑马程序员-专题视频课程

C语言基础15-16天。其中包括通讯录项目实战。

heima_cxy的博客 317

STM32+W5500实战:5分钟搞定FreeModbus TCP移植(附完整代码)

本文详细介绍了如何在STM32微控制器上,结合W5500以太网芯片,快速完成FreeModbus TCP协议栈的移植,构建稳定可靠的工业级Modbus TCP服务器。内容涵盖硬件连接、软件架构、驱动适配、核心移植代码实现及调试优化技巧,旨在提供可直接应用于实际项目的完整解决方案。

life6的博客 879

黑马程序员——iOS核心基础(17-18天)-黑马程序员-专题视频课程

C语言基础17-18天。其中包括OC类和对象创建、类方法和Xcode

heima_cxy的博客 292

微带线,带状线和接地共面波导的区别

微带线,带状线和接地共面波导的区别

sky_ying的博客 3万+

第18章:Ingestion Pipeline 数据摄取流水线

本文介绍了LlamaIndex的IngestionPipeline如何解决合同文档处理中的四大核心问题:不可重复、无追溯、无容错和无法缓存。通过标准化数据处理流程,将手工操作升级为工厂流水线模式,实现数据的可复用、可追踪和高效处理。文章详细阐述了Pipeline的设计原理,包括Transformation的串行编排、缓存机制(基于输入和Transformation的哈希值)以及数据血缘追踪(通过Node的metadata记录处理过程)。

davidwang456的专栏 63

黑马程序员—OC学习摘要

1、一个类的定义一般分成两部分:  @interface 部分   1、确定这个类继承自谁,使用冒号":"   2、确定拥有的数据,包括在"{}"中   3、确定可以执行的动作    - 实例方法    + 类方法   4、以@end结尾  @implementation部分    2、程序中有GC机制,但是最好自己管理内存。IPhone等也不支持GC。 3、

guzhenxian340323的专栏 451

YOLOv11-Pose部署RK3588实战:人体姿态识别精度翻倍,边缘推理速度突破瓶颈

本教程从YOLOv11-pose模型的姿态识别训练,到RK3588的边缘量化部署,为你打造了一套“高精度+高实时性+低成本”的人体姿态分析解决方案。无论是健身动作纠正、智能安防行为检测,还是工业人员姿态监控,这套技术都能直接复用——你只需替换数据集与业务逻辑,即可快速落地专属的边缘AI姿态识别系统。如果你在实践中遇到任何卡点,欢迎随时交流。记住,人体姿态识别的价值在于“关键点准、推理快、部署易”,而这三者的平衡,正是你通过本教程能掌握的核心能力。

m0_64661770的博客 138

黑马程序员——OC视频学习过程6

-----------android培训、java培训、java学习型技术博客、期待与您交流!------------  视频16: 1、为什么要引入import import引入的头文件,可以防止重复包含。 include它是使用预处理指令防止重复包含,如果没有写预处理指令,则无法防止重复包含问题。   import和@class的区别 是什么意思? 头文件,这个稳健

woxingwosu77的博客 496

老版QQ原生表情gif动态

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

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

黑马程序员 初学OC的一些注意总结2

---------------------- ASP.Net+Unity开发、 .Net培训、期待与您交流! ----- ----------------- ---------------------- ASP.Net+Unity开发、 .Net培训、期待与您交流! ----- -----------------

MeditatingPig的专栏 608

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

黑马程序员——iOS核心基础(19-21天)-黑马程序员-专题视频课程

C语言基础19-21天。其中包括property、继承多态、《购票系统》。

heima_cxy的博客 310

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

黑马程序员--IOS基础第十六天(OC)

 OC不是一门全新的语言,是c语言的基础上增加了一层最小的面向对象语法。 学习目标: 语法学习 建立面向对象思维能力 建立基本项目需求分析能力 Include和import区别: include和import都是引入头文件 import引入的头文件,可以防止重复包含 include是使用预处理指令防止

dushoupeng的博客 425

黑马程序员-OC语言Block

1.作用: Block用来保存一段代码,方便程序随时调用,标志为^。 定义Block变量:  void (^名称)(形参 ) = ^{ } eg: int (^myblock)(int,int) = ^(int a,int b){ return a+b; }; 利用block调用block内部代码:myblock(); (

wlwl363的专栏 479

黑马程序员——c语言部分基础

c语言是一种古老但是依然屹立在众多强势编程语言中的佼佼者,它提供一种能以简易的方式编译、产生少量的机器吗以及不需要任何运行环境支持便能运行的编程语言。oc是完全兼容c语言的一种面向对象语言,所以,学好c语言是进阶oc的必经之路,话不多说,让我们看看c语言的一些基础知识。 函数 c语言中的函数大致分为3种:主函数,用户自定义函数,系统提供的函数库函数。 主函数:也称main函数,一个c程序

yangdongao456的博客 680

黑马程序员 初学OC的一些注意总结 1

---------------------- ASP.Net+Unity开发、 .Net培训、期待与您交流! ---------------------- ---------------------- ASP.Net+Unity开发、 .Net培训、期待与您交流! ----------------------

MeditatingPig的专栏 692

【黑马程序员】【OC语言】多态

1.多态的基本概念 某一类事物的多种形态 OC对象具有多态性 2.多态的体现 Person *p = [Student new]; p->age = 100; [p walk]; 子类对象赋值给父类指针 父类指针访问对应的属性和方法 3.多态的好处 用父类接收参数,节省代码 4.多态的局限性 不能访问子类的属性(可以考虑强制转换) 5.多态的细节 动态绑

MarsII的iOS技术博客 311

黑马程序员——OC学习总结14-16

423

zhangjiawei2014的专栏 414

黑马程序员---OC基础---Foundation框架学习

------- android培训、java培训、IOS培训期待与您交流! ---------- 1、什么是Foundation框架。 之前我们创建新的target的时候接触了cocoa class,创建一个cocoa class会同时创建.m文件和.h文件,那么cocoa class到底是什么东西呢? Cocoa不是一种编程语言(它可以运行多种编程语言),它也不是一个开发工具(通过命令

shmily3945的博客 520

【黑马程序员】【OC语言】self关键字

1.成员变量和局部变量同名 当成员变量和局部变量同名时,采取就近原则,访问的是局部变量 用self访问成员变量,区分同名的局部变量 2.使用细节 出现的地方:所有的OC方法中(对象方法\类方法),不能出现在函数 作用 使用 "self->成员变量名" 访问当前方法调用的成员变量 使用 "[self 方法名];" 来调用方法(对象方法\类方法) 3.常见错误 低级错误:用s

MarsII的iOS技术博客 341

黑马程序员——oc之继承

-------android培训、java培训、iOS培训、.Net培训、期待与您交流! ---------- 一、基本用法   1.设计两个类Bird、Dog   1 // Bird的声明   2 @interface Bird : NSObject   3 {   4 @public   5 int weight;   6 }   7 - (void)eat;

lucky2468的博客 386

黑马程序员 初学OC的一些注意总结3

---------------------- ASP.Net+Unity开发、 .Net培训、期待与您交流! ----- ----------------- 初学OC的一些注意总结3

MeditatingPig的专栏 776
上一篇: 黑马程序员---学习笔记15:OC基础(2)
下一篇: 黑马程序员---学习笔记17:OC基础(4)
七分热度_HD
博客等级 码龄14年 12粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值