OC学习记录

本文将介绍如何从零开始学习Objective-C,并通过创建一个简单的Hello World应用来熟悉其基本语法。同时,会涉及类的方法声明和使用,以及在主函数中调用这些方法的实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天开始学习oc,mark一下,到时候看自己多久能学会。

如果有错误或者需要完善的希望好心人能够帮帮忙解释一下


HelloWorld.h

#import<Foundation/Foundation.h>

@interface HelloWorld : NSObject{
@private// 属性声明
    NSString *_des;
    NSString *_name;
    NSString *_id;
}

- (id) initWithStrAndName : (NSString*) str withName : (NSString*) name withID : (NSString *)idStr;// id为指向对象的指针
- (void) printName;
- (void) printDes;
+ (void) thisIsStaticMethod;

@end

HelloWorld.m

</pre><p></p><pre name="code" class="objc">#import "HelloWorld.h"

@implementation HelloWorld


- (id) initWithStrAndName:(NSString *)des withName : (NSString *)name withID: (NSString *)idStr{//以init开头的为构造方法
    self = [super init];//首先调用super的init方法
    if (self) {
        self->_des = des;
        self->_name = name;
        self->_id = idStr;
    }
    return self;
    
}

- (void) printName {
    [self printID];//调用类的私有方法
    NSLog(@"%@",self->_name);
}

- (void) printDes {
    NSLog(@"%@",self->_des);
}

- (void) printID {//该方法未在.h文件中声明,为私有方法,HelloWord的实例不可调用
    NSLog(@"%@", self->_id);
}

+ (void) thisIsStaticMethod{// +开头的为静态方法
    NSLog(@"this is a static method");
}

@end


main.m


#import <Foundation/Foundation.h>
#import "HelloWorld.h"

BOOL areIntsDifferent(int thing1, int thing2){
    if (thing1 == thing2) {
        return NO;
    }
    return YES;
}

NSString *boolString(BOOL yesNo){
    if (YES == yesNo) {
        return @"YES";
    }
    return @"NO";
}

int main(int argc, const char * argv[]) {
    BOOL isDifferent = areIntsDifferent(100, 50);
    NSLog(@"%d and %d are different? %@", 100, 50, boolString(isDifferent));

    HelloWorld * hello = [[HelloWorld alloc]initWithStrAndName:@"description:hello world" withName : @"my name is Lily" withID: @"my id is 100"];
    [hello printDes];
    [hello printName];
    [HelloWorld thisIsStaticMethod];
   
    return 0;
}


方法声明方式:

-(returnType)method
-(returnType)method:(dataType)param1
-(returnType)method:(dataType)param1 withParam:(dataType)param2





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值