【文件属性】:
文件名称:ios初级笔记
文件大小:21KB
文件格式:TXT
更新时间:2018-09-01 18:21:50
ios初级
ios初级代码
1.oc中的set和get方法
1>.首先NewFile创建类,选iOS中的Cocoa Touch,再点击Objective-C class,输入类名Student,作为NSobject(系统 自带)的子类
2>.在.h中做方法的声明
在Student.h中:
//@interface代表声明一个类
// : 代表继承
#import
@interface Student : NSObject{
//成员变量要定义在此{}中
int age;
int no;
}
//age no 的get,set方法
//-代表调用动态方法,+代表静态方法
-(void)setAge:(int)newAge andNo:(int)newNo; //方法名是setage: andNo: 注:冒号也是方法名的一部分
-(int)age; //方法名是age
-(int)no;
@end
在Student.m中:
#import "Student.h"
@implementation Student
- (int)age{
return age;
}
- (int)no{
return no;
}
- (void)setAge:(int)newAge andNo:(int)newNo
{
age=newAge;
age=newNo;
//self.age = newAge; //这是个错误的方法会导致死循环,相当于[self setAge]
}
@end
在main.m中:
#import
int main(int argc,const char * argv[])
{
@autoreleasepool{
//创建对象,alloc方法,init方法都是继承NSlog
Student *stu=[[student alloc] init];
//释放方法
[stu release]
[stu setAge:20 andNo:3]
NSLog(@"this age is:i% andNo:i%",[stu age],[stu no])
}
return 0;
}
2.点语法
以1为实例:
stu.age = 10; //编译的时候调用的是:[stu setAge:10];
int a = stu.age; //编译的时候调用的是:[stu age];
注:1>oc中的点不是成员变量的访问,是调用set,get方法
2>成员变量默认是@protected
3>当成员变量为@public时,外部直接访问用stu->name;
3.构造方法和description方法
1>.在student.h中
#import
@interface student:NSObject{
//默认的是@protected
int _age;
int _no;
}
- (void)setAge:(int)age;
- (void)setNo:(int)no;
- (int)age;
- (int)no;
//自己写构造方法
- (id)initWithAge:(int)age andNo:(int)no;
@end
2>.在student.m中
#import "student.h"
@implementation student
-(void)setAge:(int)age{
_age = age;
}
- (void)setNo:(int)no{
_no = no;
}
- (int)age{
return _age;
}
-(int)no{
return _no;
}
//实现构造方法
- (id)initWithAge:(int)age andNo:(int) no{
//首先要调用super的构造方法
//self = [super init];
//如果self不为nil
if(self = [super init]){
_age = age;
_no = no;
}
return self;
}
//重写父类的的description方法
//当使用%@带打印一个对象时候,会调用这个方法
- (NSString *)description{
NSString *str = [NSString stringWithFormat:@"age is %i and no is %i",_age,_no];
return str;
}
@end
3>.在main.m中:
#import
int main(int argc,const char * argv[])
{
@autoleasepool{
student *stu = [[student alloc] initWithAge:100 andNo:20];
[stu release]
//NSLog(@"this age is:i% this no is:i%",stu.age,stu.no);
//%@代表打印一个oc对象
NSLog(@"%@",stu);
}
}