黑马程序员技术交流社区
标题:
黑马程序员—oc语言学习心得—属性声明和赋值
[打印本页]
作者:
任子杰
时间:
2015-10-31 14:48
标题:
黑马程序员—oc语言学习心得—属性声明和赋值
黑马程序员——oc语言学习心得——
属性声明和赋值
1,在oc中所有类继承与终极父类Object
2,声明字符变量采用N是string *_xxx 实例变量一般以下划线开头
3,在oc中方法以+ -号区分 -号开头是实例方法或对象方法 +号开头是类方法 前置用对象调用 后者用类名调用
4,在xcode4以后声明@property 不用在写@snysize 自动生成get、set方法
5,属性赋值可用.的方式或者指针赋值
@interface Person : NSObject
{
int _pid;
NSString *_name;
int _age;
NSString *_email;
NSString *_address;
}
//get set方法
-(void)setpid:(int)pid;
-(int)returnpid;
//简便方法 实现属性声明方法自动实现setget方法
@property (nonatomic)int pid;//nonatomic表示非原子,非线程安全atomic表示线程安全
@property NSString *name;
@property int age;
@property NSString *email;
@property NSString *address;
@end
复制代码
@implementation Person
//赋值
-(void)setpid:(int)pid{
//通过指针访问
self->_pid=pid;
}
//取值
-(int)returnpid{
//错误写法 self->return pid
return self->_pid;
}
//属性的实现 然后直接用.调用
@synthesize name=_name;
@synthesize age=_age;
@synthesize email=_email;
@synthesize address=_address;
复制代码
#import <Foundation/Foundation.h>
#import "Person.h"
#import "Person+Ext.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
// insert code here...
NSLog(@"第一个函数!!");
//创建实例
Person *per=[[Person alloc]init];
//调用自己写的setpid方法赋值
[per setpid:1234567];
//调用取值方法returnpid返回新的值
int pid=[per returnpid];
NSLog(@"pid=%d",pid);
//用.调用实现赋值
per.name=@"任子杰";
per.age=20;
per.email=@"xxxxxxx";
per.address=@"成都";
//用.调用实现取值'
NSString *name=per.name;
int age=per.age;
NSString *email=per.email;
NSString *address=per.address;
NSLog(@"%@\n%d\n%@\n%@",name,age,email,address);
[per Test];
}
return 0;
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2