189 8069 5689

iOS开发OC基础:延展Extension-创新互联

//延展Extension,是为类扩充私有的方法,以及私有的实例变量,和分类Category相比,延展定义的方法是私有的,而且还可以定义实例变量(私有的)。

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册、网络空间、营销软件、网站建设、灵丘网站维护、网站推广。

//@interface 开头 + 类名(哪一个类的延展) + 小括号,小括号内填写的是延展名,一般情况下都省略。 @end结束 (写在.m文件里)

main函数中的完整代码为:

#import 
#import "Person.h"

int main(int argc, const char * argv[])
{

    @autoreleasepool {
        
        Person *person = [[Person alloc] initWithName:@"ruby" sex:@"man" age:23];
        [person setName:@"Ruby"];
        person.age = 13;
//        [person sayHi];
        
    }
    return 0;
}

创建一个Person类

Person.h中的完整代码为:

#import 

@interface Person : NSObject {
    NSString *_name;        //姓名
    NSString *_sex;         //性别
    NSInteger _age;         //年龄
}

#pragma mark - setter and getter
@property (nonatomic, retain) NSString *name;
@property (nonatomic ,retain) NSString *sex;
@property (nonatomic) NSInteger age;

#pragma mark - init method
- (id)initWithName:(NSString *)name sex:(NSString *)sex age:(NSInteger)age;



@end

Person.m中的完整代码为:

#import "Person.h"

@interface Person () {
    NSMutableArray *_personArr;
}
- (void)sayHi;
@end

@implementation Person

#pragma mark - init method
- (id)initWithName:(NSString *)name sex:(NSString *)sex age:(NSInteger)age {
    self = [super init];
    if (self) {
        self.name = name;
        self.sex = sex;
        self.age = age;
        [self sayHi];
    }
    
    return self;
}

#pragma mark - sayHi

- (void)sayHi {
    
    NSLog(@"This is a private method:%@, %@, %ld", self.name, self.sex, self.age);
}

@end

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网页标题:iOS开发OC基础:延展Extension-创新互联
文章地址:http://cdxtjz.com/article/ddgdcs.html

其他资讯