OC 方法和函数

/*

方法

1.对象方法都是以减号 -

2.对象方法的声明必须写在@interface和@end之间

对象方法的实现必须写在@implementation和@end之间

3.对象方法只能由对象来调用

4.对象方法归类\对象所有

函数

1.函数能写在文件中的任意位置(@interface和@end之间除外),函数归文件所有

2.函数调用不依赖于对象

3.函数内部不能直接通过成员变量名访问某个对象的成员变量

*/

#import <Foundation/Foundation.h>

@interface Person : NSObject

@end

@implementation Person

@end

@interface Car : NSObject

{// 成员变量\实例变量

//int wheels = 4; 不允许在这里初始化

//static int wheels; 不能随便将成员变量当做C语言中的变量来使用

@public

int wheels;

}

- (void)run;

- (void)fly;

@end

int main()

{

// wheels = 10;

/*

Car *c = [Car new];

c->wheels = 4;

//run();

[c run];

*/

void test2();

test2();

return 0;

}

@implementation Car

- (void) fly

{

}

/*

void test2()

{

NSLog(@"调用了test2函数-%d", wheels);

}*/

void test()

{

NSLog(@"调用了test函数");

}

- (void)run

{

test();

NSLog(@"%d个轮子的车跑起来了", wheels);

}

@end

时间: 2024-08-08 14:40:13

OC 方法和函数的相关文章

OC中的方法与函数的区别

OC方法: 1.OC方法必须以 - 开头 2.OC方法的定义包括声明和实现两部分,声明必须在@interface @end之间,实现必须在@implementation @end之间 3.OC方法只能有类的对象/实例方法 4.OC方法仅归类/类的对象所有 函数: 1.函数能写在文件的 任何位置(一般除了类的声明之间) 2.函数归文件所有 3.函数的调用不依赖对象 4.函数的内部不能用类的成员变量名直接去访问类的成员变量

OC方法和文件编译

一.OC方法 (一)对象方法 (1)对象方法以-开头如 -(void)xx; (2)对象方法只能又对象来调用 (3)对象方法中可以访问当前对象的成员变量 (4)调用格式   [对象名  对象方法名]: (5)设计一个学生类和狗类,练习对象方法的使用. 学生类的声明: 学生类的实现: 狗类的声明: 狗类的实现: 主程序: (二)类方法 (1)类方法以+开头  如+(void)put; (2)类方法只能由类来调用 (3)类方法中不能访问实例(成员)变量,因为类方法又类来调用,并没有创建存储空间来存储

【cocos2d-js官方文档】二十三、如何在IOS平台上使用js直接调用OC方法

在Cocos2d-JS v3.0 RC2中,与Android上js调用Java一样,Cocos2d-JS也提供了在iOS和Mac上js直接调用Objective-C的方法,示例代码如下: var ojb = jsb.reflection.callStaticMethod(className, methodNmae, arg1, arg2, .....); 在jsb.reflection.callStaticMethod方法中,我们通过传入OC的类名,方法名,参数就可以直接调用OC的静态方法,并且

在UIWebView中加载的HTML所触发的事件通过OC方法响应

前段时间在做项目时,在UIWebView加载的Html中点击了一个区域需弹出拍照界面,可是根据业务的不同情况,区域的位置是不同的.我考虑了多种方案,最后还是觉得这个通过“桥梁”用OC方法来处理对应节点的触发事件更为直接和方便. 工具类:WebViewJavascriptBridge  顾名思义,此类就像OC与JS的桥梁,可以使JS的事件与OC的方法相关联. WebViewJavascriptBridge包含一个类实例方法,入参是委托对象. 有一个委托方法,此方法是用来接受到html点击事件返回的

黑马程序员 10-OC方法与函数的区别

———Java培训.Android培训.iOS培训..Net培训.期待与您交流! ——— 方法与函数的区别 1.方法: 1.对象方法都是以减号 - 开头  2.对象方法的声明必须写在@interface @end之间   3.对象方法的实现必须写在@implementation @end 之间 4.对象方法只能由对象调用  5.对象方法归类\对象所有 6.类方法都是以加号 + 开头,其他规则和对象方法相同 7.类方法既可以被类(类名)调用,也可以被对象调用 2.函数: 1.函数归文件所有,跟对象

UIWebView中Html中用JS调用OC方法及OC执行JS代码

1.HTML页面 1 <html> 2 3 <head> 4 5 <title>HTML中用JS调用OC方法</title> 6 7 <meta http-equiv="Content-Type"content="text/html; charset=UTF-8"> 8 9 <script> 10 11 function test() 12 13 { 14 15 alert("test

Entity Framework SqlFunctions 教你如何在EF调用sqlserver方法的函数存根

今天算是研究了一天的SqlFunctions,请教了几个群的牛人,居然发现大伙对这个都比较陌生, 有的甚至直指EF中是不能调用sqlserver里的方法的. 因为之前搞过linq to sql 里面的SqlMethod ,所以觉得EF里面必须是可以的. 首先需要简短介绍一下EF6和EF5,当你NuGet一个EF5的包的时候,只有EntityFramework,而EF6确有EntityFramework和EntityFramework.SqlServer, 这2者是有很大区别的. 在EF5环境下,

eclipse中查看某个方法(函数)被谁调用

用了好久一直不知道eclipse中如何实现vs中查找所有引用的功能,今天终于发现了哈哈 选中要查找的方法名,右键->References->Workspace 可以定位到具体的调用位置,快捷键Ctrl+Shift+G,在Search中就会出现调用方法 或者是 右键->References->Project/Hierarchy,Workspace搜索的范围>Project>Hierarchy. eclipse中查看某个方法(函数)被谁调用,布布扣,bubuko.com

转载 -- 基于原生JS与OC方法互相调用并传值(附HTML代码)

最近项目里面有有个商品活动界面,要与web端传值,将用户在网页点击的商品id 传给客户端,也就是js交互,其实再说明白一点就是方法的互相调用而已. 本文叙述下如何进行原生的JavaScript交互 本文包括JS调用OC方法并传值,OC调用JS方法并传值 本来想把html放进服务器里面,然后访问,但是觉得如果html在本地加载更有助于理解,特把html放进项目里 HTML代码 <!DOCTYPE html> <html> <head> <meta charset=&