iOS Developer

从第一个应用:To Do,纪录总结入门IOS第一课

2017-02-26  本文已影响0人  stefanJi

纪录自己入门IOS

To Do

To Do 利用到的IOS知识有:

查看TO DO的完整代码,应用的制作过程是跟着Github上的kidscoding做的iOS开发初学者入门教程来的

从之前学习Android开发,自己就是从只有C和C++基础,然后先学习了Java的基本语法和数据类型之后,就直接混着Android SDK做应用开发了,随着后门开发的深入又学习了Java的其他特性。总结学习移动开发,先搞懂开发语言的基础知识和数据结构这些之后,就可以开始进行移动开发了。

于是学习了Objective-C的基础知识之后,便跟着教程做了这个简单的应用。

在开始阶段学习的Objective-C基础有:

@interface Student : NSObject
@property int age;
@property NSString* name;
@end

@implementation Student

@end

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        Student* stu = [[Student alloc]init];
        stu.age = 18;
        stu.name = @"stu 001";
        NSLog(@"age:%d,name:%@",stu.age,stu.name);
    }
    return 0;
}

@interface Student : NSObject{
    NSString* name;
}
@property int age;
@property NSString* nameTemp;

//name的get方法
- (NSString*)name;
@end

@implementation Student
//对nameTemp的操作=对name的操作
@synthesize nameTemp = name;
//实现name的get
- (NSString*)name{
    return name;
}
@end

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        Student* stu = [[Student alloc]init];
        stu.age = 18;
        stu.nameTemp = @"stu 001";
        NSLog(@"age:%d,name:%@",stu.age,stu.name);
    }
    return 0;
}

在Student类的生命前,这样定义协议

@class Student;

@protocol StudentDelegate
- (void)showName:(Student*)student withName:(NSString*)name;
@end

Teacher类声明它采纳了StudentDelegate协议

#import "Student.h"

@interface Teacher : NSObject <StudentDelegate>

@end

Teacher就必须实现协议里的方法,使用了@optional修饰了的方法为可选方法,可不实现

@implementation Teacher
- (void)showName:(Student*)student withName:(NSString *)name{
    NSLog(@"stu name :%@",name);
}
@end
- (void)showObj:(id)obj;
obj可以是任意类型的实例

- (void)showObj:(id <StudentDelegate>)obj;
obj必须是实现了StudentDelegate协议的实例

- (void)showObj:(NSString*)obj;
obj必须是NSString* 类型的实例
上一篇 下一篇

猜你喜欢

热点阅读