总结Objective-C特点

Objective-C与其它面向对象有这明显的不同,它有这自己鲜明的特色,下面我们从这个方法介绍它的特点:兼容性、字符串、类、方法、属性、协议和分类。

1. 兼容性

Objective-C可以说是一种面向对象的C语言,在Objective-C的代码中可以有C和C++语句,它可以调用C的函数,也可以通过C++对象访问方法。

2. 字符串

Objective-C通常不使用C语言风格的字符串。大多数情况下是使用Foundation框架的NSString类型的字符串。NSString类提供了字符串的类包装,支持Unicode,printf风格的格式化工具等等。它是在普通的双引号字符串前放置一个@符号,如下面的例子所示:

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

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

3.类

Objective-C是一种面向对象的语言,定义类是它的基本能力。Objective-C的类声明和实现包括两个部分:接口部分和实现部分。

4.方法

Objective-C是一种面向对象的语言,定义方法也是它的基本能力。Objective-C中方法不是在“.”运算符,而是采用“[]”运算符。有时候方法调用也称为:消息发送。

5. 属性

属性是Objective-C 2.0提出的概念,它是替代对成员变量访问的“读取方法(getter)”和“设定方法(setter)”的手段,为了对类进行封装一般情况下不直接访问成员变量,而是通过属性访问。

6.协议

Objective-C中的协议类似于Java中的接口或C++的纯虚类,只有接口部分定义没有实现部分,即只有h文件没有m文件。

7.分类

Objective-C中的分类是类似与继承机制,通过分类能够扩展父类的功能。

时间: 2024-12-31 19:49:33

总结Objective-C特点的相关文章

用Dojo Objective Harness对Web 2.0应用程序进行单元测试

单元测试是保证软件开发质量的一个重要部分,对于敏捷和极限编程开发方法尤其如此.通常,对 Web 2.0 客户端用户界面进行自动的单元测试很困难,所以很少有人去做尝试.然而,Dojo 提供了一个单元测试工具,借此可以评估 JavaScript 的功能及用户界面的可视性.经过这个工具彻底测试过的用户界面最终包含的 Bug 数量会极大的减少.本文阐述了 Dojo Objective Harness (DOH) 的主要特点并通过与其它 Web 2.0 应用程序测试工具的比较展示了其强大的功能. 单元测试

Objective C从远程url下载图片方法汇总

  本文给大家分享了2则使用Objective C从远程url下载图片的方法,都是个人项目中使用的,汇总下推荐给大家,有需要的小伙伴可以参考下. Objective C从远程url下载图片 ? 1 2 3 4 5 6 7 8 - (UIImage *) getImageFromURL: (NSString *)theURL { UIImage *theImage = NULL; NSString *imageFileName = [BT_strings getFileNameFromURL:th

iPhone objective c 截屏代码

  objective c 截屏代码 -(void)save{ UIGraphicsBeginImageContext(mybackgroundview.bounds.size); //currentView 当前的view [mybackgroundview.layer renderInContext:UIGraphicsGetCurrentContext()]; UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();

IOS-Swift、Objective-C、C++混合编程

1.Objective-C调用C++代码 后缀为m文件的是Objective-C的执行文件,而后缀为mm文件的是Objective-C++文件. 直接在Objective-C中是无法调用C++代码的,所以如果需要在Objective-C调用C++语言就需要直接将后缀m文件改为mm,然后就可以调用C++代码了. Objective-C兼容C,Objective-C++兼容C.C++. 接下来是在OC工程中创建C++文件,并调用C++的代码: 然后在OC文件中直接用C++的语法调用C++,所以前提是

objective c-objectiveC的class返回了-(id)

问题描述 objectiveC的class返回了-(id) 在C#中,如果初始化类会返回它本身,比如: public class MyClass{ public int Id; public string Name; } MyClass classInstance = new MyClass(); : : 我知道C#与objective不一样,但是我不明白objective-c是怎么转换的.我发现如果OC创建一个方法,不会返回本身,而是返回一个id?比如: - (id)initWithID:(N

ios 引用计数-objective-c关于引用计数问题

问题描述 objective-c关于引用计数问题 #import @interface ViewController : UIViewController @property(nonatomic,retain)NSString *string1; @property(nonatomic,retain)NSString *string2; @end @implementation ViewController (void)viewDidLoad { [super viewDidLoad]; NSL

ios开发-小白跪求解决方案,objective c 一个出错问题,具体看问题补充

问题描述 小白跪求解决方案,objective c 一个出错问题,具体看问题补充 照着书模拟了个小软件,屏幕上两个按钮,一个edit 一个new 点击new可以创建新的便签,点击edit可以删除便签,也可以移动便签,但我无意间在移动完便签后点了new按钮,软件崩溃,,,但是在edit的时候再点击new按钮却可以接着添加新的标签....只有移随便移动标签后不可以添加标签,求大神解决如何在移动完以后能接着点new创建标签或者最起码不创建标签但别让软件崩溃... 部分代码如下: (void)table

Objective—C语言的新魅力——Nullability、泛型集合与类型延拓

Objective-C语言的新魅力 一.引言         在Xcode7中,iOS9的SDK已经全面兼容了Objective-C的一些新特性和新功能.这些功能都只作用于编译期,对程序的运行并没有影响,因此,它可以很好的向下进行兼容,无缝的衔接低版本的iOS系统,那么这些特性有什么样的用处呢,作为开发者,我保证你一定会爱上他们,如果你可以将这些新特性都应用于你的开发,你的开发效率和代码质量,相比之前,会有一个很大的提升. 二.Nullability检测的支持         在swift语言中

objective c-通过udp发送hello world 信息

问题描述 通过udp发送hello world 信息 想要通过udp发送一个简单的信息,服务器部分在C#中执行: c#中的服务器代码: var server = new UdpClient(8585); var groupEP = new IPEndPoint(IPAddress.Parse("192.168.0.120"),8585); byte[] bytes = server.Receive(ref groupEP); 客户端的c# 部分: System.Net.Sockets.

Objective C Programming( OC ) 语法特点总结

移动市场是块巨大的迅速的,发展的市场,我看好它.IOS中OC是很重要的语言,通过看<Objective C Programming>,能让我对OC有个大概的了解.为了加深印象,特于此加以总结. OC是源于SmallTalk的,起源甚至比C++还早.其直接父系语言为C语言. OC通过@interface-@end以及@implementation-@end来实现类声明和定义. OC中类一般至少继承与Object类 OC中所有的类对象必须动态申请,也就是说没有局部变量这么一说. OC中类没有所谓的