Objective-C 学习笔记(1)

文件描述:

.h 类的声明文件,用户声明变量、函数(方法)

.m 类的实现文件,用户实现.h中的函数(方法)

类的声明使用关键字 @interface、@end

类的实现使用关键字@implementation、@end

Code:

------------------------------------

项目文件:

(OS X  -> Command Line Tool)

  main.m

  student.h

  studen.m

 1 //
 2 //  main.m
 3 //  OC的类学习
 4 //
 5 //  Created by loong on 14-10-25.
 6 //  Copyright (c) 2014年 loong. All rights reserved.
 7 //
 8
 9 #import <Foundation/Foundation.h>
10
11 #import "student.h"
12
13 int main(int argc, const char * argv[]) {
14     @autoreleasepool {
15
16         // 创建一个对象
17         // [student alloc] 调用student类中的 alloc 静态函数
18         // [[student alloc] init] 在返回的类型中再次调用 init 函数
19         student* std = [[student alloc] init];
20         [std setAge:24];
21         int age = [std age];
22
23         NSLog(@"age is: %i", age);
24
25         [std setNo:17 :1];
26
27         NSLog(@"age is: %i,no is: %i", [std age], [std no]);
28         //[std release];
29     }
30     return 0;
31 }
 1 //
 2 //  student.h
 3 //  OC的类学习
 4 //
 5 //  Created by loong on 14-10-25.
 6 //  Copyright (c) 2014年 loong. All rights reserved.
 7 //
 8
 9 // 导入头文件
10 #import <Foundation/Foundation.h>
11
12 // .h 文件只是用来声明那些变量和函数
13 // @interface 声明一个类
14 @interface student: NSObject { // 成员变量要声明在下面的大括号中 {}
15     int _age; // 成员变量使用_开头
16     int _no;
17 }
18
19 // age的get方法
20 // - 代表动态方法、 + 代表静态方法 (static)
21 - (int) age;
22 - (void) setAge:(int)age;
23
24 // 同时设置两个参数
25 - (int) no;
26 - (void) setNo:(int)age : (int) no;
27
28 @end
 1 //
 2 //  student.m
 3 //  OC的类学习
 4 //
 5 //  Created by loong on 14-10-25.
 6 //  Copyright (c) 2014年 loong. All rights reserved.
 7 //
 8
 9 #import "student.h"
10
11 @implementation student
12
13 - (int) age {
14     return age;
15 }
16
17 - (void) setAge:(int) newAge {
18     age =newAge;
19 }
20
21 // ===========
22
23 - (int) no {
24     return no;
25 }
26 - (void) setNo:(int)newAge :(int)newNo {
27     age = newAge;
28     no = newNo;
29 }
30 @end

// PS: 在 oc 中关于 . 的描述(解释)

student.age  等同于 [student getAge]

student.age = 5; 等同于 [student setAge:5]

时间: 2024-12-27 20:17:34

Objective-C 学习笔记(1)的相关文章

Objective - C学习笔记:UIView的使用方法

1.1 - (void)layoutSubviews; * 当一个控件的frame发生改变的时候就会自动调用 * 一般在这里布局内部的子控件(设置子控件的frame) * 一定要调用super的layoutSubviews方法 1.2 - (void)didMoveToSuperview; * 当一个控件被添加到父控件中就会调用 1.3 - (void)willMoveToSuperview:(UIView *)newSuperview; * 当一个控件即将被添加到父控件中会调用 @interf

Objective - C 学习笔记:UIPickerView 和 UIDatePicker的基本使用

1.UIPickerView 1.1. UIPickerView的常见属性 // 数据源(用来告诉UIPickerView有多少列多少行) @property(nonatomic,assign) id<UIPickerViewDataSource> dataSource; // 代理(用来告诉UIPickerView每1列的每1行显示什么内容,监听UIPickerView的选择) @property(nonatomic,assign) id<UIPickerViewDelegate>

Objective - C 学习笔记:程序启动原理

1.Info.plist常见的设置 * 建立一个工程后,会在Supporting files文件夹下看到一个“工程名-Info.plist”的文件,该文件对工程做一些运行期的配置,非常重要,不能删除 * 在旧版本Xcode创建的工程中,这个配置文件的名字就叫“Info.plist” * 项目中其他Plist文件不能带有“Info”这个字眼,不然会被错认为是传说中非常重要的“Info.plist” * 项目中还有一个InfoPlist.strings的文件,跟Info.plist文件的本地化相关

objective - C学习笔记: tableView的刷新

1: 数据刷新的总体步骤 1.1: 修改模型数据 1.2: 刷新表格(刷新界面) 2: 刷新表格的方法 // 全局刷新(每一行都会重新刷新) - (void)reloadData; // 局部刷新(使用前提: 刷新前后, 模型数据的个数不变) - (void)reloadRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation; // 局部删除(使用前提: 模型数据减少的个

Objective - C学习笔记:控制器的管理

1. 如何创建一个控制器 1.1. 控制器常见的创建方式有以下几种 //1.1.1:通过storyboard创建 //1.1.2:直接创建 YHViewController *viewController = [[YHViewController alloc] init]; //1.1.3:指定xib文件来创建 YHViewController *viewController= [[YHViewController alloc] initWithNibName:@"YHViewControlle

Objective - C 学习笔记:消息机制的原理与使用

1.通知中心(NSNotificationCenter) 1.1.每一个应用程序都有一个通知中心(NSNotificationCenter*)实例,专门负责协助不同对象之间的消息通信 1.2.这就是观察者模式(Observer),任何一个对象都可以向通知中心发布通知(NSNotification*),描述自己在做什么.其他感兴趣的对象(Observer观察者)可以申请在某个特定通知发布时(或在某个特定的对象发布通知时)收到这个通知 2.通知(NSNotification) 2.1.一个完整的通知

Objective - C 学习笔记:程序启动的完整过程

1. main函数 2. UIApplicationMain * 创建UIApplication对象 * 创建UIApplication的delegate对象 3.1 delegate代理开始处理(监听)系统事件  (没有storyboard) * 程序启动完毕的时候, 就会调用代理的application:didFinishLaunchingWithOptions:方法 * 在application:didFinishLaunchingWithOptions:中创建UIWindow * 创建和

Objective - C 学习笔记:监听文本框TextField的文字改变

* 一个文本输入框的文字发生改变时,文本输入框会发出一个UITextFieldTextDidChangeNotification通知 * 因此通过监听通知来监听文本输入框的文字改变 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textChange) name:UITextFieldTextDidChangeNotification object:textField]; // textField

ufldl学习笔记与编程作业:Convolutional Neural Network(卷积神经网络)

ufldl出了新教程,感觉比之前的好,从基础讲起,系统清晰,又有编程实践. 在deep learning高质量群里面听一些前辈说,不必深究其他机器学习的算法,可以直接来学dl. 于是最近就开始搞这个了,教程加上matlab编程,就是完美啊. 新教程的地址是:http://ufldl.stanford.edu/tutorial/ 本节学习地址:http://ufldl.stanford.edu/tutorial/supervised/ConvolutionalNeuralNetwork/ 一直没更

ufldl学习笔记与编程作业:Softmax Regression(vectorization加速)

ufldl出了新教程,感觉比之前的好,从基础讲起,系统清晰,又有编程实践. 在deep learning高质量群里面听一些前辈说,不必深究其他机器学习的算法,可以直接来学dl. 于是最近就开始搞这个了,教程加上matlab编程,就是完美啊. 新教程的地址是:http://ufldl.stanford.edu/tutorial/ 本节是对ufldl学习笔记与编程作业:Softmax Regression(softmax回归)版本的改进. 哈哈,把向量化的写法给写出来了,尼玛好快啊.只需要2分钟,2