在App安装过程中,系统为每个App生成它的主目录和一些关键的子目录,通常的路径为:
/ApplicationRoot/ApplicationID/
App包(Application Bundle)
在编译App时,Xcode将它整理为一个包(Bundle)。App包是文件系统中的一个目录,将相关的文件都集中到一个地方。App包里主要包括了App的可执行文件和资源文件等。
App包的典型成份:
-
MyApp.app 可执行文件 -
Icon.png App图标 -
MainWidow.nib 主窗口xib文件 -
Default.png 加载时图片 -
iTunesArtwork iTunes图片 -
Info.plist 配置文件 -
Resource files 资源文件
Info.plist:
限制条件
Hello,There App
1.Create a new Xcode project:
2.Single View Application
3.Options for new project:
4.选择项目存放路径,然后生成了如下的项目结构:
5.然后编辑Main.storyboard(故事板?),选择ViewController
6.拖动Lable对象到Main.storyboard上面,双击可以编辑,改成我们需要的文字即可
运行效果:
2015-04-15
2015-04-17
-
OC是在C语言的基础之上,增加了一层最小的面向对象语法。因为OC是基于C语言的,所以完全兼容C语言,甚至C++ -
OC没有包名(命名空间)的概念,开发人员给类名加上前缀,放置类名冲突 -
为了防止与C语言、C++关键字冲突,OC关键字都以@开头。 -
语法要点: -
基本数据类型:char,int,float,double,BOOL(YES\NO) -
nil相当于Java中的null -
self相当于Java的this -
for循环快速遍历fot(xx in xx) -
基类 NSObject -
继承:单继承,用super关键字引用父类对象 -
异常处理 @try @catch @finally -
注释: // 和 /……/ -
日志输出:NSLog{@”Hello”}; NSLog{@”Age is %i”,23};
第一个OC程序:
Automatic Reference Counting(ARC)自动加释放内存代码
- import相比include,防止重复包含。include的头文件(*.h)里需要添加:
#ifndef ___OC___Header_h
#define ___OC___Header_h
#endif
import不需要添加以上代码。
1.OS X>Application>Command Line Tool
2.Type:Founction
3.代码
4.运行效果
1.右键Project,New File,然后iOS>Cocoa Touch>Objective-C class
2.输入类名,继承父类NSObject
3.生成代码ZMSClass.h和ZMSClass.m:
4.OC用冒号(:)表示继承,如:
/*
*/
#import <Foundation/Foundation.h>
@interface ZMSClass : NSObject{
// 成员变量定义到大括号之内
int number;
//float time;
}
// 静态方法(+):用类名调用的方法;
// 动态方法(-):用对象调用的方法
// number的Get方法,不实现
// - (float)time;
// number的Set方法,不实现
- (void)setNumber:(int)newNumber;
// - (void)setNumber:(int)newNumber setTime:(float)newTime;
@end
-
OC在.h中声明的所有方法都是公共的 -
OC中一个冒号对应接收一个参数
/*
#import “ZMSClass.h”
@implementation ZMSClass
NSLog(@"调用了num
《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享
ber的get方法");
return number;
}
// -time{
// NSLog(@“调用了time的get方法”);
// return time;
//}
- (void)SetNumber:(int)number{
number = newNumber;
NSLog(@“调用了number的set方法”);
}
// - (void)setNumber:(int)newNumber setTime:(float)newTime{
// number = newNumber;
// time = newTime;
// }
@end
/*
#import <Foundation/Foundation.h>
#import “ZMSClass.h”
int main(int argc, const *argv[])
{
@autorelasepool{
// 用指针存储对象的地址
ZMSClass *zms = [ZMSClass alloc];
zms = [zmsClss init];
// 以上两行可以简写为:
// ZMSClass *zms[[ZMSClass alloc] init]
[zmsClass setNumber:55];
int number = [zms number];
NSLog(@“Number is %i”,number);
[zms SetNumber:555 setTime:555.55];
NSLog(@“Number is %i and time is %f”,[zms number],[zms time]);
// 释放对象
[zms release];
}
return 0;
}
import导入*.h,系统的
<>
,自写的用
“”
2015-04-20
-
属性就是让类外可以访问成员变量 -
类内使用成员变量,类外使用属性
// People.h
#import <Foundation/Foundation.h>
@interface People : NSObject
{
// 推荐成员变量加_,Xcode新版本不需要再在.h文件中写成员变量
NSString * _peopleName;
int _peopleAge;
int _peopleSex;
}
@property(nonatomic,strong)NSString *peopleName;
@end
// main.m
People *people = [[People alloc]init];
perople.peopleName = @“周木水”;
NSLog(@“peopleName - %@”, people.peopleName);
2015-06-22
|