黑马程序员——[oc]核心语法1

本文介绍了Objective-C中的点语法、成员变量作用域、编辑器特性(如@property和@synthesize)、id类型及构造方法等核心概念。通过实例讲解如何简化代码并有效管理成员变量。

------  Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

一:点语法

1>用点语法替换set方法和get方法

2>点语法的本质

**其实点语法的本质还是方法调用

**当使用点语法时,编译器会自动展开成相应的方法

3>死循环注意


二:成员变量的作用域

局部变量,全局变量都有自己的作用域。成员变量也有自己的作用域。

1>作用域类型

1.@private:只能在当前类的对象方法中直接访问

(可以用get方法、set方法访问);

(在@implementation中声明的对象默认为@private,@public无效)


2.@protect:只能在当前类和子类的对象方法中直接访问

(在@interface中如果不加作用域类型,默认为@protect)


3.@public:任何地方都可以直接访问成员变量


4.@package:同一个“体系内”(框架)可以访问,介于@private和@public之间。

(只要处在同一个框架中,就能直接访问对象的成员变量。)

注意:没有@interface,只有@implementation,也可以开发一个类。

@implementaion中不能定义和@interface中同名的成员变量。

三:编辑器特性:@property和@synthesize

1> @property 

用在@interface中,可以自动生成成员变量的setter和getter声明;

2>@synthesize

用在@implementation 中,可以自动生成成员变量的set和get方法的实现。

3>@synthesize的细节

@synthesize age = _age;

1.setter和getter实现中会访问成员变量_age

2.如果成员变量_age不存在,就会自动生成一个@private的成员变量_age

@synthesize age;

1.setter和getter实现中会访问成员变量age

2.如果成员变量age不存在,就会自动生成一个@private的成员变量age

手动实现

1.若手动实现了setter方法,编译器就只会自动生成getter方法

2.若手动实现了getter方法,编译器就只会自动生成setter方法

3.若同时手动实现了setter和getter方法,编译器就不会自动生成不存在的成员变量

4> @property新特性

自从Xcode 4.x后,@property就独揽了@synthesize的功能。也就是说,@property可以同时生成setter和getter的声明和实现

默认情况下,setter和getter方法中的实现,会去访问下划线 _ 开头的成员变量

所以在现在的Xcode版本下,可以最大化的简洁书写。
举例:

四:id
id是一个类型,是一个万能指针,能指向任何OC对象,相当于NSObject *

id类型的定义

typedefstruct objc_object {

    Class isa;

} *id;

注:id类型后面不能加*;

NSString *_name;

->id _name;

五:构造方法

1>对象创建两部曲

[person new]  这里面的new完整的创建了一个可用的对象

1.分配存储空间    (类方法) +alloc

2.初始化                (对象方法)-init

// 调用+alloc 分配存储空间

Person *p1 = [Person alloc];

// 调用- init进行初始化

Person *p2 = [P1 init];

以上两步可以浓缩为一步

Person *p3 = [[person alloc] init];

-init方法就是构造方法

2>构造方法

构造方法就是用来初始化对象的方法,是个对象方法。以‘-’开头。

初始化对象原理:

简化方法:

重写构造方法的目的:为了让对象创建出来,成员变量就会有一些固定的值。

重写构造方法的注意点:

1.先调用父类的构造方法[super init]

2.再进行子类内部成员变量的初始化。







1)求职者端(Web 前端) 岗位浏览与搜索: 智能推荐首页:基于 “专业背景 + 求职意向” 推荐匹配岗位(如 “计算机专业硕士” 优先推荐 “高校计算机教师岗”“实验员岗”),展示岗位核心信息(学校名称、岗位名称、薪资范围、截止日期)。 多条件筛选:支持按 “岗位类型(教学岗 / 科研岗 / 行政岗)、学历要求(硕士 / 博士)、地区(华北 / 华东等)、学校层次(985/211 / 双非)” 组合筛选,结果按 “匹配度 / 发布时间 / 薪资” 排序。 岗位详情页:展示 “岗位职责、任职要求、福利待遇、应聘流程、联系人信息”,提供 “收藏岗位、一键投递简历、查看该岗位竞争热度(如‘已有 230 人投递’)” 功能。 个人求职中心: 简历管理:支持创建多版本简历(如 “教学岗专用简历”“科研岗专用简历”),包含 “基本信息、教育经历、科研成果、教学经验、获奖情况” 等模块,支持 PDF 导出和在线编辑。 应聘跟踪:记录 “已投递岗位、简历状态(已接收 / 筛选中 / 面试通知 / 已录用)、截止日期提醒”,对 “3 天内即将截止的岗位” 自动推送提醒。 竞争分析:针对已投递岗位,展示 “求职者学历分布(博士占比 75%)、专业匹配度排名(你的匹配度 85 分,超过 80% 竞争者)”,辅助评估自身竞争力。 (2)高校招聘负责人端(Web 管理端) 岗位管理: 岗位发布:填写 “岗位名称、招聘人数、学历要求、专业方向、岗位职责、薪资范围、应聘方式” 等信息,支持上传 “岗位说明书附件”,设置 “自动截止日期” 和 “简历接收邮箱”。 批量操作:对 “已过期岗位” 进行批量下架,对 “热门岗位(投递量>100)” 设置 “自动置顶”,支持 “岗位信息批量导出(Excel 格式)”。 简历筛选: 智能初筛:系统自动对投递简历进行 “匹配度评分”
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值