【OC语法】Foundation框架-NSObject

SSM搭建_foundation.zip SSM整合项目完整版(含jar包和有详细注释的配置文件),整合步骤可参考https://blog.youkuaiyun.com/super_DuoLa/article/details/107081136 立即下载

C中的Foundation框架是系统提供了,他就相当于是系统的一套api,和Java中的一些系统jar很相似,又早起的一批人开发的,内部有很多现有的类和功能提供给我们使用。那么今天首先来介绍一下Foundation框架中的第一个类NSObject

在之前介绍了类的相关知识,我们看到我们自定义的类都必须实现NSObject类,这个类内部有很多现有的方法可以供我们使用,比如我们经常使用的alloc和init方法,就是NSObject提供的,下面就在来看一下他的一些其他常用方法:


通过代码来演示每个方法的作用:

Person.h

[objc]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. //  
  2. //  Person.h  
  3. //  13_NSObjectMethod  
  4. //  
  5. //  Created by jiangwei on 14-10-11.  
  6. //  Copyright (c) 2014年 jiangwei. All rights reserved.  
  7. //  
  8.   
  9. #import <Foundation/Foundation.h>  
  10.   
  11. @interface Person : NSObject  
  12.   
  13. - (void)invoke;  
  14.   
  15. @end  


Person.m

[objc]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. //  
  2. //  Person.m  
  3. //  13_NSObjectMethod  
  4. //  
  5. //  Created by jiangwei on 14-10-11.  
  6. //  Copyright (c) 2014年 jiangwei. All rights reserved.  
  7. //  
  8.   
  9. #import "Person.h"  
  10.   
  11. @implementation Person  
  12.   
  13. - (void)invoke{  
  14.     NSLog(@"invoke is Executing...");  
  15.     [self demo1];//对象调用  
  16.       
  17.     //performSelector方法调用  
  18.     NSString *result = [self performSelector:@selector(demo1)];  
  19.     NSLog(@"%@",result);  
  20.       
  21.     //调用有一个参数的方法  
  22.     [self performSelector:@selector(demo2:) withObject:@"jiangwei"];  
  23.       
  24.     //调用有两个参数的方法  
  25.     [self performSelector:@selector(demo3:withName:) withObject:@"jiangwei" withObject:@"man"];  
  26.       
  27.     //延迟调用一个方法  
  28.     //此处的延迟调用,代码不会停留在此处,为了不阻塞线程  
  29.     [self performSelector:@selector(demo1) withObject:NULL afterDelay:2.5];  
  30.       
  31.     //如果没有以下代码的话,上面的延迟调用就不会有效果的,因为他不会阻塞当前线程,所以当前线程中后续的代码会继续执行  
  32.     //在main.m中得main方法中,会直接return,这样程序就运行结束了,所以来不及执行2.5s之后方法执行  
  33.     //以下代码让执行过程停在此处  
  34.     [[NSRunLoop currentRunLoop] run];  
  35.       
  36. }  
  37.   
  38. - (NSString *)demo1{  
  39.     NSLog(@"demo1");  
  40.     return @"demo1";  
  41. }  
  42.   
  43. - (void)demo2:(NSString *)str{  
  44.     NSLog(@"str = %@",str);  
  45. }  
  46.   
  47. - (void)demo3:(NSString *)str withName:(NSString *)name{  
  48.     NSLog(@"str = %@,name = %@",str,name);  
  49. }  
  50.   
  51. @end  

main.m
[objc]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. //  
  2. //  main.m  
  3. //  13_NSObjectMethod  
  4. //  
  5. //  Created by jiangwei on 14-10-11.  
  6. //  Copyright (c) 2014年 jiangwei. All rights reserved.  
  7. //  
  8.   
  9. #import <Foundation/Foundation.h>  
  10.   
  11. #import "Person.h"  
  12.   
  13. //isEqual判断两个指针是否指向同一个对象  
  14.   
  15. int main(int argc, const charchar * argv[]) {  
  16.     @autoreleasepool {  
  17.           
  18.         //1.--------------------isEqual方法  
  19.         NSObject *obj1 = [[NSObject alloc] init];  
  20.         NSObject *obj2 = [[NSObject alloc] init];  
  21.           
  22.         if([obj1 isEqual:obj2]){  
  23.             NSLog(@"obj1 == obj2");  
  24.         }else{  
  25.             NSLog(@"obj1 != obj2");  
  26.         }  
  27.           
  28.         //或者直接用等号判断  
  29.         if(obj1 == obj2){  
  30.             //do something...  
  31.         }else{  
  32.             //do something...  
  33.         }  
  34.           
  35.           
  36.         //2.--------------------performSelector方法  
  37.         //调用invoke方法  
  38.         //延迟调用某一个方法  
  39.         Person *p = [[Person alloc] init];  
  40.         [p performSelector:@selector(invoke)];  
  41.           
  42.         //3.--------------------isKindOfClass和isMemberOfClass方法  
  43.         Person *rose = [[Person alloc] init];  
  44.         //判断rose是否属于Person类创建的  
  45.         //BOOL isBelongTo = [rose isMemberOfClass:[Person class]];//返回YES  
  46.         BOOL isBelongTo = [rose isMemberOfClass:[NSObject class]];//返回NO  
  47.         if(isBelongTo == YES){  
  48.         }else{  
  49.         }  
  50.           
  51.         //判断rose是否属于子类创建的  
  52.         //判断一个类是不是一个类的子类  
  53.         isBelongTo = [rose isKindOfClass:[NSObject class]];//返回NO  
  54.           
  55.           
  56.         //4.---------------------respondsToSelector方法  
  57.         //判断类中是否有特定的方法(有实现的方法全部返回YES,如果只在.h文件中定义了,返回的是NO)  
  58.         //同时这种方式可以实现调用所谓的私有方法  
  59.         Person *task = [[Person alloc] init];  
  60.         isBelongTo = [task respondsToSelector:@selector(invoke)];  
  61.         if(isBelongTo){  
  62.         }else{  
  63.         }  
  64.           
  65.     }  
  66.     return 0;  
  67. }  


下面来一一介绍一下方法的作用

1、isEqual方法

[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. //1.--------------------isEqual方法  
  2. NSObject *obj1 = [[NSObject alloc] init];  
  3. NSObject *obj2 = [[NSObject alloc] init];  
  4.           
  5. if([obj1 isEqual:obj2]){  
  6.      NSLog(@"obj1 == obj2");  
  7. }else{  
  8.      NSLog(@"obj1 != obj2");  
  9. }  
  10.           
  11. //或者直接用等号判断  
  12. if(obj1 == obj2){  
  13.      //do something...  
  14. }else{  
  15.      //do something...  
  16. }  

他的作用就是判断两个指针变量是否指向同一个对象,在OC中他还有一个简单的用法,就是直接使用"=="来进行比较,这两个效果是一样的,但是在Java中是不同的,Java中的"=="是判断两个引用变量是否指向同一个对象,但是其equals方法是判断两个对象的值是否相等(这里的值指的是基本类型,其他对象类型,可以重写这个方法来进行操作)。


2、isMemberOfClass方法

[objc]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. //3.--------------------isKindOfClass和isMemberOfClass方法  
  2. Person *rose = [[Person alloc] init];  
  3. //判断rose是否属于Person类创建的  
  4. //BOOL isBelongTo = [rose isMemberOfClass:[Person class]];//返回YES  
  5. BOOL isBelongTo = [rose isMemberOfClass:[NSObject class]];//返回NO  
  6. if(isBelongTo == YES){  
  7. }else{  
  8. }  
这个方法的作用是判断一个指针变量指向的对象是不是属于一个类创建的,类似于Java中的obj.getClass()==Person.class效果。


3、isKindOfClass方法

[objc]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. //判断rose是否属于子类创建的  
  2. //判断一个类是不是一个类的子类  
  3. isBelongTo = [rose isKindOfClass:[NSObject class]];//返回NO  
这个方法的作用是判断一个指针变量指向的对象是不是一个类的子类,类似于Java中的instanceof关键字的作用


4、respondsToSelector方法

[objc]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. //4.---------------------respondsToSelector方法  
  2. //判断类中是否有特定的方法(有实现的方法全部返回YES,如果只在.h文件中定义了,返回的是NO)  
  3. //同时这种方式可以实现调用所谓的私有方法  
  4. Person *task = [[Person alloc] init];  
  5. isBelongTo = [task respondsToSelector:@selector(invoke)];  
  6. if(isBelongTo){  
  7. }else{  
  8. }  
这个方法我们在之前的文章中使用过了,他的作用就是判断一个类中是否有某个方法,他的判断是只要这个方法有实现,就返回YES

如果只在.h文件中定义了,没有在.m文件中实现的话,也是返回NO的

如果这个方法没有在.h文件中定义,但是在.m文件中有实现的话(私有方法),返回YES

只要方法在.m文件中有才会返回YES

这个方法的功能如果在Java中可以使用反射去实现


5、performSelector方法

[objc]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. - (void)invoke{  
  2.     NSLog(@"invoke is Executing...");  
  3.     [self demo1];//对象调用  
  4.       
  5.     //performSelector方法调用  
  6.     NSString *result = [self performSelector:@selector(demo1)];  
  7.     NSLog(@"%@",result);  
  8.       
  9.     //调用有一个参数的方法  
  10.     [self performSelector:@selector(demo2:) withObject:@"jiangwei"];  
  11.       
  12.     //调用有两个参数的方法  
  13.     [self performSelector:@selector(demo3:withName:) withObject:@"jiangwei" withObject:@"man"];  
  14.       
  15.     //延迟调用一个方法  
  16.     //此处的延迟调用,代码不会停留在此处,为了不阻塞线程  
  17.     [self performSelector:@selector(demo1) withObject:NULL afterDelay:2.5];  
  18.       
  19.     //如果没有以下代码的话,上面的延迟调用就不会有效果的,因为他不会阻塞当前线程,所以当前线程中后续的代码会继续执行  
  20.     //在main.m中得main方法中,会直接return,这样程序就运行结束了,所以来不及执行2.5s之后方法执行  
  21.     //以下代码让执行过程停在此处  
  22.     [[NSRunLoop currentRunLoop] run];  
  23.       
  24. }  
  25.   
  26. - (NSString *)demo1{  
  27.     NSLog(@"demo1");  
  28.     return @"demo1";  
  29. }  
  30.   
  31. - (void)demo2:(NSString *)str{  
  32.     NSLog(@"str = %@",str);  
  33. }  
  34.   
  35. - (void)demo3:(NSString *)str withName:(NSString *)name{  
  36.     NSLog(@"str = %@,name = %@",str,name);  
  37. }  

这个方法的作用就是调用对象中的一个方法,看到上面的例子,这个方法有很多样式:

无参数样式

[objc]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. [self performSelector:@selector(demo1)]  


一个参数的样式

[objc]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. //调用有一个参数的方法  
  2. [self performSelector:@selector(demo2:) withObject:@"jiangwei"];  


两个参数样式

[objc]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. //调用有两个参数的方法  
  2. [self performSelector:@selector(demo3:withName:) withObject:@"jiangwei" withObject:@"man"];  


但是我们看到上面的调用方式,感觉不到这个方法的用途,因为我们完全可以直接调用demo1方法

[objc]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. [self demo1]  


在看看他的一种样式

[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. //延迟调用一个方法  
  2. //此处的延迟调用,代码不会停留在此处,为了不阻塞线程  
  3. [self performSelector:@selector(demo1) withObject:NULL afterDelay:2.5];  
可以延迟的调用一个方法,这才是该方法的核心作用,他的作用类似于Android中的postDelayed(Runnable runable)方法,同样,这个方法会在后面UI使用中经常使用到,能够延迟的调用一个方法。


同时他还有一个作用可以直接调用一个类的私有方法,即只在.m文件中实现了的方法:

[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. Person *task = [[Person alloc] init];  
  2. isBelongTo = [task respondsToSelector:@selector(demo1)];  
  3. if(isBelongTo){  
  4.     [task performSelector:@selector(demo1)];  
  5.      NSLog(@"YES");  
  6. }else{  
  7.      NSLog(@"NO");  
  8. }  
他回经常结合respondsToSelector方法一起使用,这里demo1就是一个私有的方法,如果在Java中需要用到反射,然后还要强暴一下这个私有方法才能调用。在OC中的实现就简单了。


总结

这篇文章就介绍了OC中的Foundation框架中的NSObject对象中的一些常用方法。

Foundation框架(Web 的 UI 框架) v6.4.2 Foundation框架简介 Foundation 是一个易用、强大而且灵活的前端框架,用于构建基于任何设备上的Web应用。提供多种Web上的UI组件,如表单、按钮、Tabs等。 Foundation框架页面展示 同类推荐: 立即下载

相关推荐

(详细总结)python爬取 163收件箱邮件内容,收件箱列表的几种方法(urllib, requests, selenium)

需求:最近有一个需求,需要将163邮箱收件箱里面的所有邮件的内容全部copy下来,整理到一个word里面,不多也就28页的邮件(不要问我为什么有这需求,不告诉你),自己手动去ctrl+ cv 的话,估计要搞吐。然后就想能不能用python的爬虫来实现,虽然过程比较苦(后期改bug改的要吐了)。但是会后还是将需求实现了。这基本也算是入门了 urllib、requests、selenium这几个py...

man_tou_22 1万+

OC学习篇之---Foundation框架中的NSObject对象

前一篇文章讲到了OC中的代理模式:http://blog.youkuaiyun.com/jiangwei0910410003/article/details/41777627,而且前几篇文章就介绍了OC中的类相关知识,从这篇文章开始我们开始介绍Foundation框架。OC中的Foundation框架是系统提供了,他就相当于是系统的一套api,和Java中的一些系统jar很相似,又早起的一批人开发的,内部...

weixin_30678821的博客 155

昇腾310B实战:FFmpeg硬件加速全流程解析与性能优化

本文详细解析了昇腾310B与FFmpeg硬件加速的全流程,包括环境配置、性能优化及常见问题排查。通过实战案例展示,昇腾310B在视频转码中性能提升可达6倍,同时降低功耗,特别适合多媒体处理和高性能计算场景。

m3n5b7v8c9x的博客 735

Foundation NSObject常用方法 类名方法名和字符串之间相互转换

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- // // main.m // NSObject常用方法 // // Created by LiuWei on 15/4/19. // Copyright (c) 2015年 LiuWei. All rights reserved. // #import #impo

伟的专栏 1020

STM32F103单片机驱动TM1637数码管显示模块

最近项目中需要用到数码管显示,于是买了一个TM1637芯片驱动的四位数码显示模块,现将调试过程记录一下,方便以后参考。 使用的单片机是STM32F103C8T6最小系统 使用的数码管模块是TM1637四位数码管显示模块 实际运行效果 下面先看一下TM1637和数码管连接的具体线路图 实际使用的模块没有带按键,只用了4个数码管,模块和单片机连接只需要4根线VCC、GND、CLK、DIO。芯片和单片机通信使用的是I2C总线,下面就来说一下如何...

HXYDJ的博客 1万+

直流电源EMI滤波器设计实战:从器件选型到PCB布局的完整指南

本文提供了一份直流电源EMI滤波器的完整实战设计指南。针对EMI噪声超标问题,文章深入剖析了差模与共模噪声的抑制原理,详细讲解了从电路拓扑、核心器件(如X/Y电容、共模电感)的选型计算,到决定性能成败的PCB布局艺术。重点强调了低阻抗路径、干净接地及输入输出隔离等关键布局原则,并分享了常见的调试坑点与排查方法,旨在帮助硬件工程师设计出真正有效的滤波器,确保电源系统通过EMC测试。

q9r0s的博客 641

Foundation 框架1

---------- IOS培训、java培训---------- 1.Foundation 框架      foundation是IOS应用程序开发的基础,常用的框架有80多个,而 foundation 是他们所有的基础,提供了许多基本的对象类和数据类型,比如数字,字符串,数组,集合,字典,处理日期时间,自动化内存管理,文件,归档,处理几何数据结构等。它为所有应用程序提供

juanjuan2018的专栏 457

YOLO26改进策略【小目标改进】| 添加专用于小目标的检测层 附YOLOv1~YOLOv11的检测头变化详解

在目标检测领域,小目标检测一直是一个具有挑战性的问题。算法以其高效快速的特点受到广泛关注,然而在面对小目标时,仍存在一些局限性。本文将介绍如何在中添加小目标检测层,以提高对小目标的检测能力。原始模型结构如下: 二、有效特征层对应的检测头类别 2.1 P3/8 - small检测头 原始模型中的对应的检测头主要用于检测相对较小的目标。其特征图大小相对较大,空间分辨率较高。 适合检测尺寸大概在到像素左右的目标。 2.2 P4/16 - medium检测头 这个检测头对应的经过了更多的下采样操作,相比P3/

Limiiiing的博客 351

黑马程序员—foundation框架总结

Foundation框架是其它所有ios框架的基础 Foundation框架包含了很多开发中常用的数据类型:结构体、枚举、类          使用Foundation需要引入语法         #import     Foundation/NSObjCRuntime.h的路径:         应用程序/Xcode.app右击显示包内容->         /Applicati

guzhenxian340323的专栏 510

034、MLCA 多尺度局部上下文注意力的 YOLOv11 适配:轻量级金字塔式空间上下文聚合

本文介绍了一种将多尺度局部上下文注意力(MLCA)模块集成到YOLOv11模型中的方法,以解决小目标检测中空间信息丢失的问题。MLCA采用金字塔式局部上下文聚合策略,通过不重叠的网格划分实现轻量级空间注意力计算,相比全局注意力机制能更好地保留小目标特征。 作者详细记录了实现过程,包括模块定义、参数调优和训练技巧,特别指出避免使用BN而改用GroupNorm以提升训练稳定性。在VisDrone数据集上的实验表明,MLCA-YOLOv11在参数量和计算量基本不变的情况下,mAP提升2.5%,其中行人检测提升3.

sundong_81的博客 279

使用CubeMX配置STM32H7的FreeRTOS

本文将介绍如何使用CubeMX配置STM32H7的FreeRTOS,并提供相应的源代码示例。通过使用CubeMX,你可以轻松地配置FreeRTOS和系统资源,并生成相应的初始化代码和配置文件。在"FreeRTOS"选项卡的"Tasks"部分,可以配置系统中的任务。首先,打开CubeMX软件。在"FreeRTOS"选项卡的"Resources"部分,你可以配置FreeRTOS使用的资源,例如,堆内存和信号量。例如,我们可以创建两个简单的任务,一个任务将在循环中切换LED的状态,另一个任务将通过串口打印消息。

JeeVue的博客 711

黑马程序员--Foundation框架

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-1、Foundation框架概述框架是封装起来的一个集合,里面包括把许多类、方法、函数、文档按照一定的逻辑组织起来的,在编写程序的时候可以直接调用,这样就是程序开发变得简捷和方便。Foundation框架主要定义了一些基础类,供程序员使用,Foundation框架中所有的类的都继承NSObject这个对象。在Fou

BABYHai1991的博客 648

串口通信协议

文章目录前言一、串口通信结构图二、电平三、串口通信协议 前言 本文记录的是平时常用的串口通信有关知识点 提示:以下是本篇文章正文内容,下面案例可供参考 一、串口通信结构图 1、RS232标准串口通讯结构图 2、USB转串口通讯结构图 3、原生的串口到串口 二、电平 串口通信的时候,有三种电平:TTL电平、RS232电平、USB电平 TTL电平是从MCU直接出来的电平 RS323是一种通讯标准,因为高电平+15V低电平–15V电位差30V容错空间大,抗干扰能力强,一般用于工业设备直接通信电平转换芯

weixin_43772611的博客 6849

01-Foundation简介、NSObject、copy、NSString

目录: 一、Foundation常用类 二、Foundation简介 三、NSObject 四、NSString 回到顶部 一、Foundation常用类 1 NSObject、NSString、NSMutableString 2 NSNumber、NSValue、NSDate、NSArray 3 NSArray的遍历、NSArray的新语法(IOS6)、NSA...

a1250156的博客 173

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

lwip-2.0.3

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

OC---IOS开发入门学习(一)

​ objactice-c简称obj-c或者OC。是基于 C 语言的、面向对象的编程语言。他将C语言中复杂繁琐的语法封装的更为简单。代码源文件通常以 .m 扩展名命名(c/c++为.c/.cpp)。m为message代表OC中的消息机制​用于开发 iOS 和 macOS 应用程序。OC完全兼容C语言。类的定义写在源文件中,主要分为两个部分1.类的声明@inteface 类名 :父类名 // NSObject是根类//属性写这里/*方法声明写这里方法声明语法:无参数:- (返回值类型)方法名;

yb941693493的博客 3583

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

iOS学习笔记:Object-C基础语法(OC介绍与Foundation初步)

学习iOS数月有余,觉得有必要开始写点博客,一来巩固下学下效果,温故而知新,二来也是整理下思路,练练文笔。不求闻达与江湖,但求万千法门了然于心,如此而已。 iOS的study roadmap主要包含以下几个方面: 1. Object-C; 2. Swift; 3. Cocoa开发框架(Foundation/Appkit) for Mac OS,  Cocoa Touch开发框架(F

ZRM12391的博客 878

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Checklists学习日志之Cocoa、Foundation框架的概念,UIString和String的使用

看Checklists教程的时候,随处可见以UI开头的变量,对UIString和String的使用一直没搞清楚,今天略微知道了一点点概念,记一下。     学习C语言的时候,我们都学的是一些语法,当时并不知道真正的软件是如何由这些语法写出来的。其实除了基本的语法以外,我们需要学习一些开发的框架。框架这个概念比较抽象,但是由于老本行是搞科研,涉及一些DSP,所以有大量的使用Matlab使用的经验。

u010998924的专栏 800

Objective-C之Foundation框架的NSObject和反射机制的应用

NSObject常用的方法: 所有的OC对象都有这些方法,见demo的代码 反射: Class的反射 通过类名的字符串形式实例化对象 Class class = NSClassFromString(@"Student"); Student *stu = [[class alloc] init]; 类名转换为字符串: Class class = [Student class]; N

技术人宝哥 1817

Object-C基础语法

大致包括了OC的基本语法

2301_77900444的博客 272

OC总结 【OC基础语法相关知识】

m是OC源文件扩展名,入口点也是main函数,第一个OC程序: 1 #import <Foundation/Foundation.h> 2 3 int main(int argc, const char * argv[]) 4 5 { 6 7 theme manager 8 9 @autoreleasepool { 1...

dehuai19940321的博客 356

续写某坑爹公司的教学笔记-Foundation整套Day01-04

一、Foundation课程安排 1.NSObject、NSString、NSMutableString 2.NSNumber、NSValue、NSDate、NSArray NSMutableArray 3.NSArray的遍历、NSArray的新语法(IOS6)、NSArray Copy、NSArray排序 4.NSSet、NSMutableSet、NSDictionary、NSMutableDictionary、Block代码段(函数指针)

开发者:ziwer 1488

oc语言和c,第01天OC语言(02):C和OC的对比

#####一、概念/**1. 源文件对比C: .h声明 .c实现OC .h声明 .m/.mm 实现2. 关键字对比OC 关键字 大部分 有@符号3. 数据类型对比OC 多了BOOL 真假 取值NSObject* OC中的对向类型id 动态对象类型,万能指针SEL (方法选择器)block ...

weixin_36303305的博客 242

OC基础知识

Object C 语言基础 第一节总括 这一节是对Objective-C(以后简称OC)的简要介绍,目的是使读者对OC有一个概括的认识。 1.面象的读者 在阅读本文之前,应具备使用与C类似的编程语言(如C,C++,JAVA)的一些经验,同时熟悉面向对象编程。 2.OC简介 OC是以SmallTalk为基础,建立在C语言之上,是...

aobieyao5673的博客 246

《YYModel源码分析(二)NSObject+YYModel》

承接上文《YYModel源码分析(一)YYClassInfo》 之前文章讲述了YYClassInfo如何将runtime类结构封装到OC层。这篇文章主要讲述YYModel是如何用NSObject分类,实现非侵入式json-model的(类型转换,容错,model转json会在其他文章中讨论)。 写在开头 NSObject+ YYModel中并不只有NSObject分类,还包含了_YYModelPr...

weixin_33816300的博客 341

oc

1. 类  首先看到类的定义的关键字是: @interface 一般类的定义格式为: @interface 类名:NSObject{ 定义属性 } 定义方法 (返回类型) 方法名 : (参数类型)参数名称  - (void)shopping:(float)price;  @implementation Car   - (void)setBr

shengxiaguang的专栏 309

OC学习手札之基础语法

Step by step ! 1.NS常用的缩写 Prefix Frameworks AB AddressBook / AddressBookUI AC Accounts AD iAd AL AssetsLibrary AU AudioUnit AV AVFoundation CA CoreAnima...

weixin_30596165的博客 115
上一篇: 【OC语法】代理模式的介绍(运用到多态、id类型作为方法的参数的知识点)
下一篇: iOS开发UI篇—transframe属性(形变)
iOS_houyimin
博客等级 码龄11年 1粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值