IOS基本概念

标签: ios 概念 | 发表时间:2012-11-15 15:25 | 作者:xiaoyun8822
出处:http://blog.csdn.net

一.入门基础

1)  Objective C的文件扩展名:

.h

头文件。头文件包含类,类型,函数和常数的声明。

.m

源代码文件。这是典型的源代码文件扩展名,可以包含Objective-C和C代码。

.mm

源代码文件。带有这种扩展名的源代码文件,除了可以包含Objective-C和C代码以外还可以包含C++代码。仅在你的Objective-C代码中确实需要使用C++类或者特性的时候才用这种扩展名。

注:Objective C中提供了#inport来代替#include编译选项,而且能够确保相同的文件只会被包含一次;

2)  字符串NSString

Objective C提供了“@”,可以方便的从常量创建NSString对象;

NSString *myString = @”My String”;

NSString *myString2 = [NSString stringWithFormat:@”%d %S”,1,@”String”];

//从C字符串创建NSString字符串

NSString* fromCString = [NSString stringWithCString:”C String” encoding:NSASCIIStringEncoding];

3)  类

Objective-C的类规格说明包含了两个部分:接口和实现。接口部分包含了类声明和实例变量的定义,以及类相关的方法。实现部分包含了类方法的实际代码。

@interface MyString : NSObject

{

           Int  count;

           Id   data;

           NSString *name;

}

-          (id)initWithString: (NSString*)aName;

+   (MyString*)createMyClassWithString: (NSString*)aName;

@end

实现部分

@implementation MyString

-          (id)initWithString: (NSString*)aName

{

           If(self = [super init]){

                    Count = 0;

                    Data = nil;

                    Name = [aname copy];//

                    Return self;

}

}

+   (MyString*)createMyClassWithString: (NSString*)aName

{

           Return [[[self alloc] initWithString:aName] autorelease];

}

此外,类不只可以声明方法,还可以声明属性;

 

当用变量保存对象的时候,始终应该使用指针类型。Objective-C对变量包含的对象支持强弱两种类型。强类型指针的变量类型声明包含了类名。弱类型指针使用id作为对象的类型。

MyString* mystring1; // strong typing;

Id mystring2;//weak typing

4)  方法

Objective-C中的类可以声明两种类型的方法:实例方法和类方法。

5)  属性

属性是用来代替声明存取方法的快捷方式;

属性声明应该放在类接口的方法声明那里。基本的定义使用@property编译选项,紧跟着类型信息和属性的名字。你还可以用定制选项对属性进行配置,这决定了存取方法的行为。

@property BOOL flag;
@property (copy) NSString* nameObject; // Copy the object during assignment.
@property (readonly) UIView* rootView; // Create only a getter method.

使用属性另外的好处就是你可以在代码中访问他们的时候,使用点语法,如下面的例子所示:

myObject.flag = YES;
CGRect   viewFrame = myObject.rootView.frame;

 

6) 协议和代理

协议声明了可以被任何类实现的方法。协议不是那些类本身。他们仅是定义一个接口,其他的对象去负责实现。你实现了协议里面的方法,就叫做符合协议。

协议的声明跟类接口的声明很像,只是协议没有父类,而且他们不会定义任何实例变量。下面的例子展示了一个有一个方法的协议声明:

@protocol MyProtocol
        - (void)myProtocolMethod;
@end

作者:xiaoyun8822 发表于2012-11-15 23:25:33 原文链接
阅读:0 评论:0 查看评论

相关 [ios 概念] 推荐:

IOS基本概念

- - CSDN博客推荐文章
1)  Objective C的文件扩展名:. 头文件包含类,类型,函数和常数的声明. 这是典型的源代码文件扩展名,可以包含Objective-C和C代码. 带有这种扩展名的源代码文件,除了可以包含Objective-C和C代码以外还可以包含C++代码. 仅在你的Objective-C代码中确实需要使用C++类或者特性的时候才用这种扩展名.

iOS Wow体验 - 第六章 - 交互模型与创新的产品概念(1)

- - 信息和交互 - UCD大社区
本文是《iOS Wow Factor:Apps and UX Design Techniques for iPhone and iPad》第六章译文精选,其余章节将陆续放出. Wow体验 - 第五章 - 利用iOS技术特性打造最佳体验. 关于本套译文分享的详情及目录结构,请参考. iOS Wow体验 - 译文分享说明.

raid概念

- - CSDN博客系统运维推荐文章
有时候对raid有点含糊不清,特别从网上找了一些资料总结一下. RAID通过在多个磁盘上同时存储和读取数据来大幅提高 存储系统的数据 吞吐量(Throughput). 在RAID中,可以让很多磁盘 驱动器同时传输数据,而这些磁盘驱动器在逻辑上又是一个磁盘驱动器,所以使用RAID可以达到单个磁盘驱动器几倍、几十倍甚至上百倍的速率.

Stom概念

- - 开源软件 - ITeye博客
自己实现一个实时计算系统要考虑哪些问题. 1.低延迟、高性能、分布式(单机已无法满足要求)、可扩展、容错. 2.容易在上面开发应用程序,消息不丢失败、消息严格有序. 1.简单的编程模型 类似于MapReduce的Spout/Bolt. 2.是一个服务框架,支持热部署,及时上线下线App. 3.可以使用多种编程语言(Clojure,java,Ruby,Python).

集群概念

- - 开源软件 - ITeye博客
        集群是一组协同工作的服务实体,用以提供比单一服务实体更具扩展性与可用性的服务平台. 在客户端看来,一个集群就象是一个服务实体,但 事实上集群由一组服务实体组成.         与单一服务实体相比较,集群提供了以下两个关键特性:.        1.可扩展性--集群的性能不限于单一的服务实体,新的服 务实体可以动态地加入到集群,从而增强集群的性能.

[IOS]iOS App性能优化

- - 操作系统 - ITeye博客
iOS App的性能关注点. 虽然iPhone的机能越来越好,但是app的功能也越来越复杂,性能从来都是移动开发的核心关注点之一. 我们说一个app性能好,不是简单指感觉运行速度快,而应该是指应用启动快速、UI反馈响应及时、列表滚动操作流畅、内存使用合理,当然更不能随随便便Crash啦. 工程师开发应用时除了在设计上要避免性能“坑”的出现,在实际遇到“坑”时也要能很快定位原因所在.

iOS 5评测

- littlepush - Solidot
Ars Technica的评测认为iOS 5值得升级,当然它也不可避免的存在一些小问题,给用户增添些烦恼. 用户在升级前最好手动备份一下iDevice,确保所有的应用都能转移.

关于iOS 7

- - 曉生
上手使用2天,感觉ios7的方向挺对,有设计的不错的地方,比如系统功能交互的完善和动效细节. 但界面有不够完善之处,比如颜色不够统一,难以理解相机和设置为什么用那么难看的渐变灰色,控制中心太像交互原型图,更主要是功能缺乏分类,但相信这只是beta版的问题,就像ios7运行还不够流畅一样,都还需要时间去完善.

[转]WebKit in iOS 8

- - justinjing的专栏
让我们说说iOS 8 的WebKit吧. WWDC 2014前几天,就有人发现了苹果向WebKit开源项目提交了一些很令人兴奋的代码,暗示了OS X和iOS,特别是iOS上的WebKit架构有所变化. 果不其然,WWDC上公布了iOS的新框架WebKit.framework,正式推出了新的网页浏览控件WKWebView.

Adobe Reader for iOS发布

- laguna - Solidot
tbw 写道 "Adobe也许在计算机桌面的PDF市场占统治地位,但是,Adobe基本上把iPhone和iPad等移动设备的PDF市场留给了竞争对手,如GoodReader和苹果的iBooks. Adobe在公司博客中宣布,它已推出iPhone和iPad通用的“Adobe Reader for iOS”软件.