黑马程序员——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;
- }