目前工作需要,简单了解了下OC
Objective-C的方法与函数
- 方法是唯对象所有
- 函数是不依赖与对象存在的
方法
- (void)test;
类型要用()括起来声明
必须写在@interface- @ end之间,实现必须写在@ implementation- @ end之间
只能由对象来调用
可以直接访问成员变量
Objective-C的成员方法与类方法
- 成员方法以” - “开头
- 类方法以“+”开头
- 成员方法必须使用对象调用,即C ++非静态成员函数
- 类方法可以直接使用类名调用,即C ++静态函数
成员方法:- (void)test;
类方法: + (void)test;
不带参数的方法
- 声明
@interface NumUtil:NSObject
- (double)pi;
- 实现
@implementation NumUtil
- (double)pi
{
return 3.14;
}
- 调用
NumUtil *n = [NumUtil new];
NSLog(@"%f",[n pi]);
带有一个参数的方法
@interface NumUtil : NSObject
- (int)square:(int)num
@end
@implementation NumUtil
-(int)square:(int)num
{
return num * num;
}
@end
NumUtil *n = [NumUtil new];
NSLog(@"%d",[n square:2]);
带有多个参数的方法
@interface NumUtil : NSObject
- (int)addNum1:(int)num1 addNum2:(int)num2;
@end
@implementation NumUtil
- (int)addNum1:(int)num1 addNum2:(int)num2
{
return num1 + num2;
}
@end
NumUtil *n = [NumUtil new];
NSLog(@"%d",[n addNum1:1 addNum2:2]);
冒号“:”后面是参数
有几个冒号就有几个参数
空格后到冒号前的内容(不算类型)就是方法名
- (int)addNum1:(int)num1 addNum2:(int)num2 --> 函数名为addNum1:addNum2
附代码:
//
// main.m
//
// Created by gyz on 2018/8/24.
// Copyright © 2018年 gyz. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface NumUtil : NSObject
- (double)pi;
- (int)square:(int)num;
- (int)addNum1:(int)num1 addNum2:(int)num2;
@end
@implementation NumUtil
- (double)pi
{
return 3.14;
}
- (int)square:(int)num
{
return num * num;
}
- (int)addNum1:(int)num1 addNum2:(int)num2
{
return num1 + num2;
}
@end
int main(int argc, const char * argv[])
{
NumUtil *NumTest = [NumUtil new];
double PI = [NumTest pi];
NSLog(@"%f",PI);
int numSquare = [NumTest square:5];
NSLog(@"%d",numSquare);
int numAdd = [NumTest addNum1:6 addNum2:7];
NSLog(@"%d",numAdd);
return 0;
}
读罢,是不是感觉OC很简单,语言都是相通的!