OC语言(一)
来源:互联网 发布:java一年工作经验 编辑:程序博客网 时间:2024/05/22 11:36
#import "two.h"
int main(){
test();
return 0;
}
two.h
void test();
two.m
#import <Foundation/Foundation.h>
void test(){
NSLog(@"Use test.");
}
链接:cc one.o two.o -framework Foundation
C语言程序可以和M文件混用
cc xx.m xx.c可以编译链接一起来
#import <Foundation/Foundation.h>
@interface Car : NSObject{
@public //默认是@protected
int wheels;
int speed;
}
- (void)run;
@end
@implementation Car
- (void)run{
NSLog(@"The car is running");
}
@end
int main(){
Car* p = [Car new];
p->wheels = 4;
p->speed = 80;
//消息机制,给指针p所指向的对象发送一条run消息
[p run];
return 0;
}
需要注意的是,方法的调用时用的是指针,实质是消息机制,即给指针所指向的对象发出一条执行相应方法的消息
注意指针赋值只是把地址拷贝,如p2=p,p2可以改变p所指向的对象
每个对象内部都有一个isa指针,它指向对象所对应的类,所有对象共用一个方法列表。
没有指针指向的OC对象不会被自动销毁。
成员变量不能写static,不能在定义时初始化。
如果类的定义在main之后,要先声明。
八.OC函数与方法的区别
- (double)power2 : (double)num;
实现:
- (double)power2 : (double)num{
return num * num;
}
调用:
[c add : 1 : 2];
多个参数继续用冒号连接。
写法规范:后面的参数可以在冒号前加标签
- (double)sumWithNum1 : (double)num1 andNum2: (double)num2;
实现:
- (double)sumWithNum1 : (double)num1 andNum2: (double)num2{
return num1 + num2;
}
调用:
[c sumWithNum1 : 1 andNum2 : 2]
增强了可读性。
冒号也是方法名的一部分!
例如上面的三参数函数的名称为 sumWithNum1 : andNum2:
快速定位:
- OC语言(一)
- iOS OC语言(一)语法简介 , OC 的特点
- OC语言笔记(一):OC程序解释
- OC语言注意事项一
- 黑马程序员——OC语言(一)--基本语法
- OC语言(二)
- OC语言(三)
- OC语言(四)
- OC语言(五)
- OC语言(六)
- OC语言(二)
- 黑马程序员-OC语言基础学习(一)
- OC语言学习 (一) Hello World
- iOS基础知识(1) 一 OC语言
- OC学习心得(一)
- OC学习(一)
- OC高级(一)
- oc基础知识(一)
- 2.4学习内容 线程更新ui、
- ZXingProject
- Mongodb亿级数据量的性能测试
- UIScrollView 实践经验
- Oracle客户端工具
- OC语言(一)
- Android_关于隐藏标题栏的问题
- poj2411--Mondriaan's Dream(状压dp+dfs)
- onunload-javascript
- WEB测试总结
- django extjs5 交互例子
- 动态规划-二维背包(1)
- Socket通信简单例子
- 视力减退,3招改善你的”马虎眼“