oc27--synthesize,省略getset实现
//
// Person.h #import <Foundation/Foundation.h> @interface Person : NSObject
{
@public
int _age;
int age;
int _number;
} /*
@porperty是一个编译器指令
在Xocde4.4之前, 可以使用@porperty来代替getter/setter方法的声明
也就是说我们只需要写上@porperty就不用写getter/setter方法的声明 编译器只要看到@property, 就知道我们要生产某一个属性的getter/setter方法的声明
- (void)setAge:(int)age;
- (int)age;
*/
@property int age; //就可以使用 [p setAge:88];
@end
//
// Person.m #import "Person.h" @implementation Person
/*
@synthesize是一个编译器指令, 它可以简化我们getter/setter方法的实现*/ @synthesize age = _age; // 赋值给_age
/*
- (void)setAge:(int)age
{
_age = age;
}
- (int)age
{
return _age;
}
*/ /*@synthesize age = _number; 赋值给_number
- (void)setAge:(int)age
{
_number = age;
}
- (int)age
{
return _number
;
}
*/ // 如果在@synthesize后面没有告诉系统将传入的值赋值给谁, 系统默认会赋值给和@synthesize后面写得名称相同的成员变量
/*
// _age? age : age
@synthesize age; //就可以使用 [p setAge:88]; - (void)setAge:(int)age
{
_age = age;
}
- (int)age
{
return _age;
}
*/
@end
//
// main.m
// synthesize基本使用
//
// Created by xiaomage on 15/6/23.
// Copyright (c) 2015年 xiaomage. All rights reserved.
// #import <Foundation/Foundation.h>
#import "Person.h" int main(int argc, const char * argv[]) {
Person *p = [Person new];
[p setAge:];
NSLog(@"age = %i , p->_age = %i", [p age], p->_age);
NSLog(@"_age = %i, _number = %i", p->_age, p->_number);
NSLog(@"_age = %i, age = %i", p->_age, p->age); return ;
}
oc27--synthesize,省略getset实现的更多相关文章
- 如果将synthesize省略,语义特性声明为assign retain copy时,自己实现setter和getter方法
如果将synthesize省略,并且我们自己实现setter和getter方法时,系统就不会生成对应的setter和getter方法,还有实例变量 1,当把语义特性声明为assign时,setter和 ...
- 假设将synthesize省略,语义特性声明为assign retain copy时,自己实现setter和getter方法
假设将synthesize省略,而且我们自己实现setter和getter方法时,系统就不会生成相应的setter和getter方法,还有实例变量 1,当把语义特性声明为assign时,setter和 ...
- 假设synthesize省略,语义属性声明assign retain copy时间,为了实现自己的setter和getter方法
假设synthesize省略,而且我们自己实现setter和getter方法时,系统就不会生成相应的setter和getter方法,还有实例变量 1,当把语义特性声明为assign时,setter和g ...
- 【Hibernate】双向多对多Set查询
一个计划对于多个竞价,一个竞价对应多个计划. 1.实体 /** * @author Tidy * @Description 计划 */ public class EbgStockPlanContent ...
- static关键字,引发的spring普通类获取spring的bean的思考
在c++和java中static关键字用于修饰静态成员变量和成员函数 举例一个普通的javabean class AA { int a; static int b; geta/seta;//此处省略g ...
- Struts Chain ClassCastException Aop
我们知道struts的restult type 有很多,但主要就是四种 dispatch,rediret,chain,drdirectaction 要让数据从一个action传到另一个action,就 ...
- Hibernate与Spring的事务管理
什么是事务 这个问题比较大,按照我的理解就是,一个事务内的n个操作,要么全部完成,一旦有一个操作有问题,那么所有的操作都全部回滚. Jdbc的事务 首先,大家已经知道了,事务说白了就是一个词----统 ...
- 使用MD5加密的登陆demo
最近接手了之前的一个项目,在看里面登陆模块的时候,遇到了一堆问题.现在记录下来. 这个登陆模块的逻辑是这样的 1 首先在登陆之前,调用后台的UserLoginAction类的getRandomKey方 ...
- ThreadLocal深入理解 修订版
本文是传智博客多线程视频的学习笔记. 原版本见 http://blog.csdn.net/dlf123321/article/details/42531979 ThreadLocal是一个和线程安全相 ...
随机推荐
- linux 卸载 mongo2.6
要求:linux 卸载 mongo2.6 版本:linux系统:Ubuntu 16.04 mongo: mongo 2.6.12 1. 查看安装的mongo版本和服务 # dpkg –l | gr ...
- 【译】x86程序员手册07 - 2.5操作数选择
2.5 Operand Selection 操作数选择 An instruction can act on zero or more operands, which are the data mani ...
- C语言保留字
数值变量相关: int float double char long short unsigned signed 储存说明符 const 用于声明常量 static用于限制变量/函数的作用范围等等 e ...
- jboss启动问题
今天一大早客户找我,说他们那边的jboss启动成功了,但是却访问不了. 本以为不是什么事,估计又是客户不会搞,把哪里搞挂了,直接远程把客户的jboss的log.data.tmp等文件给清理了,然后重启 ...
- python实战教程之自动扫雷
1.找到游戏窗口与坐标 #扫雷游戏窗口class_name = "TMain"title_name = "Minesweeper Arbiter "hwnd = ...
- iview中Modal弹窗做form表单验证相关问题
在modal中初始化状态,点击确定弹窗消失. 有的时候表单验证就不希望立刻消失 在iview官网中有自定义页头页脚 可以直接自定义使用 另一种验证写法 serform: { ctCatelogue: ...
- 35.分组聚合操作—bucket+metric
主要知识点: bucket+metric 计算分种颜色的电视的平均价格 语法: GET /tvs/sales/_search { "size" : 0, "agg ...
- (蓝桥)2017C/C++A组第七题正则问题
#include<iostream> #include<memory.h> #include<stack> #include<string> using ...
- python--(十步代码学会线程)
python--(十步代码学会线程) 一.线程的创建 Thread实例对象的方法 # isAlive(): 返回线程是否活动的. # getname(): 返回线程名. # setName(): 设置 ...
- PAT 1109 Group Photo
Formation is very important when taking a group photo. Given the rules of forming K rows with N peop ...