一:面向对象的思想
  objective-c与C语言的编程思想不同,C语言是面向过程的编程,而objective-c则是面向对象的编程,所谓面向对象,我个人的理解,就是抽象、将具有一定共同点的实物抽象成一个个类,对其进行封装,继承,对实物本身进行操作。
 
二:Objective-C的历史
        objective-c是以SmallTalk为基础,建立在C语言之上,并兼容c与c++的一门编程语言。20世纪80年代早期由 Brad J.Cox设计,2007年苹果公司发布了objective-c 2.0,并在iPhone上开始使用objective-c进行开发。
 
三:Objective-C框架
         Objective-c编程中主要用到的框架是Cocoa,它是MacOS X中五大API之一,它由两个不同的框架组成FoundationKit 和ApplicationKit。Foundation是最基本的框架,其中有很多经常用到的、面向数据的低级类和数据类型,如NSString,NSArray,NSDictionary和NSNumber。而iphone手机应用开发  则还会用到UIKitk框架,这会在以后介绍到。
四:Objective-C扩展名
      OC是C和SmallTalk的结合,它支持相同的C语言基本语法。与C一样,文件分为头文件和源文件,扩展名分别为.h和.m。                                   
            .h  头文件    头文件包涵类的定义、类型、函数以及常量的声明等;
            .m  源文件    这个典型的扩展名用来定义源文件,可以同时包含C和Objective-C的代码。
五:头文件引入 #import
  在Objective-C里,包含头文件有比#include更好的方法  #import。它的使用和#include相同,但是可以保证你的程序只包含相同的头文件一次。
例如  引入UIKit框架
#import <UIKit/UIKit.h> 
 
 
六:标准输出函数  NSLog()
      在Objective-C中用的打印函数是NSLog(), 当然也可以用printf(),但是NSLog()提供了一些特性,如时间戳,日期戳和自动加换行符等,用起来更方便,所以NSLog()用起来会更加的方便。例如:
NSLog(@"Hello world");
 
 七:类方法,实例方法
       Objective-c 的方法定义包含了方法类型,返回类型,一个或者多个关键词,参数类型和参数名。而且Objective-c中方法有两种类型:实例方法,类方法。实例方法前用“-”号表明,类方法用“+”表明,实例方法需要用类的实例对象调用,类方法则只能由类名调用  下面是类方法和实例方法的举例:
 
-(void)setCC:(NSString*)c;  //实例方法
+(void)setCC:(NSString*)c;//类方法
 
 
八.变量的属性
      变量的属性提供了比方法更方便的访问方式。通过@property标识符来替代getter和setter方法。使用方法就是在类接口.h文件中用@property标识符,后面跟着变量的属性,包括 copy, tetain, assign ,readonly , readwrite,nonatomic,然后是变量名   然后在实现文件.m中使用@synthesize 加变量名实现   格式如下
声明property的语法为:
      @property (属性1,属性2) 类型 名字;
//.h
@property BOOL flag;
@property (nonatomic) NSString* name;
//.m
@synthesize flag,name;
各参数意义如下:
readwrite    产生setter\getter方法
readonly     只产生简单的getter,没有setter。
assign         默认类型,setter方法直接赋值,而不进行retain操作
retain         setter方法对参数进行release旧值,再retain新值。
copy           setter方法进行Copy操作,与retain一样
nonatomic      禁止多线程,变量保护,提高性能
属性的另一个好处就是,可以使用点"."语法来访问            
 
九:对象初始化
     OC对象的初始化有两种方法:一种是[类名 new], 第二种是[[类名 alloc]init]。这两种方法是等价的,不过,通常的Cocoa惯例是使用alloc和init,而不使用new.一般情况下,Cocoa程序员只是在他们不具备足够的水平来熟练使用alloc和init方法时,才将new作为辅助方法使用。
         [[类名alloc]init]有两个动作。alloc是分配内存,是从操作系统获得一块内存并将其指定为存放对象的实例变量的位置。同时,alloc方法还将这块内存区域全部初始化为0。与分配动作对应的是初始化。
    自定义初始化方法   格式如下:
-(id)init
{
if(self = [super init]){
// …
//code there
}
  return self;
}

使用self= [super init]的作用是使父类完成它们自己的初始化工作。这在以后会介绍。

十:选择器selector
    选择器只是一个方法名称,它以OC运行时使用的特殊方式编码,以快速执行查询。你可以使用@selector()预编译指令指定选择器,其中方法名位于圆括号中。如一个类中setCC:方法的选择器是:@selector(setCC:)。待续...
  
 
 
 
            
 
                    
 
 

ios开发入门篇(二):Objective-C的简单语法介绍的更多相关文章

  1. iOS开发UI篇—使用UItableview完成一个简单的QQ好友列表(一)

    iOS开发UI篇—使用UItableview完成一个简单的QQ好友列表(一) 一.项目结构和plist文件 二.实现代码 1.说明: 主控制器直接继承UITableViewController // ...

  2. ios开发入门篇(一):创建工程

    突然心血来潮,想写点技术方面的东西,做了ios也有好几年了,就简单的写个ios开发的技术博客,希望有人能用得到. 今天就先从创建一个Hellow World工程开始 一:首先打开xcode然后单击Cr ...

  3. ios开发入门篇(四):UIWebView结合UISearchBar的简单用法

     UIWebView是ios开发中比较常用的一个控件.我们可以用它来浏览网页.打开文档等,今天笔者在这里简单介绍下UIWebView和UISearchBar结合起来的用法,做一个简单的类浏览器. 一: ...

  4. 无责任Windows Azure SDK .NET开发入门篇二[使用Azure AD 进行身份验证]

    二.使用Azure AD进行身份验证 之所以将Azure AD 作为开始,是应为基本上我们所有应用都需要进行安全管理.Azure Active Directory (Azure AD) 通过以下方式简 ...

  5. 无责任Windows Azure SDK .NET开发入门篇二[使用Azure AD 进行身份验证-2.2身份验证开发]

    2.2身份验证开发 在我们的案例中,我们是用户通过Web应用程序进行身份识别. 上面的图示说明了如下的一些概念 l Azure AD 是标识提供程序,负责对组织的目录中存在的用户和应用程序的标识进行验 ...

  6. iOS开发——高级篇——二维码的生产和读取

    一.二维码的生成 从iOS7开始集成了二维码的生成和读取功能此前被广泛使用的zbarsdk目前不支持64位处理器 生成二维码的步骤:导入CoreImage框架通过滤镜CIFilter生成二维码 二维码 ...

  7. iOS开发UI篇—使用UItableview完成一个简单的QQ好友列表(二)

    一.实现效果             二.实现代码 1.数据模型部分 YYQQGroupModel.h文件 // // YYQQGroupModel.h // 02-QQ好友列表(基本数据的加载) / ...

  8. ios开发入门篇(三):UITableView简介

    最近做项目又开始用到了uitableview,温习之余,在这里把uitableview的用法分享一下,有不对的地方欢迎大家提出来. 废话不多说,先创建一个工程,由于Xcode6,去除了创建工程时的空项 ...

  9. 无责任Windows Azure SDK .NET开发入门篇二[使用Azure AD 进行身份验证--2.1使用Azure AD需要了解几个概念]

    2.1使用Azure AD需要了解几个概念 l Azure AD目录 当你注册 Microsoft 云服务时,便会获得一个 Azure AD 目录.你可根据需要创建更多的目录.例如,可以将第一个目录保 ...

随机推荐

  1. 使用 Tomcat 7 新的连接池 —— Tomcat jdbc pool

    Tomcat 在 7.0 以前的版本都是使用 commons-dbcp 做为连接池的实现,但是 dbcp 饱受诟病,原因有: dbcp 是单线程的,为了保证线程安全会锁整个连接池 dbcp 性能不佳 ...

  2. 一种基于Welch's t检验的二元关系挖掘

    现实中常常需要挖掘两种因素之间的关联,Welch's t检验很适合其中的nomial-numerical的关系挖掘.比如天气状况对销量的影响,或者天气情况对交通流量的影响等等.我们可以按照下雨/不下雨 ...

  3. Unix-Linux编程实践 学习点滴

    1.结构体最后定义一个char p[0]有什么作用 2. 3. 4. 1.结构体最后定义一个char p[0] 有什么作用 这是个广泛使用的常见技巧,常用来构成缓冲区.比起指针,用空数组有这样的优势: ...

  4. VBScript连接数据库

    'access类型 dim strconn,objconn strconn="driver=microsoft access driver(*.mdb);dbq=" _ & ...

  5. web.xml里<filter-mapping>中的<dispatcher>作用

    2.4版本的servlet规范在部属描述符中新增加了一个<dispatcher>元素,这个元素有四个可能的值:即REQUEST,FORWARD,INCLUDE和ERROR,可以在一个< ...

  6. C# 采用线程重绘图形要点记录

    大家都知道J2ME 采用一个线程去获取数据,然后得到数据后更新屏幕是件很容易的事情,比如Thread{public void run(){ getData();repaint(); } }这样做就OK ...

  7. C#三种模拟自动登录和提交POST信息的实现方法

    网页自动登录(提交Post内容)的用途很多,如验证身份.程序升级.网络投票等,以下是用C#实现的方法.       网页自动登录和提交POST信息的核心就是分析网页的源代码(HTML),在C#中,可以 ...

  8. 暂停和恢复Activity Android

    暂停和恢复Activity(Pausing and Resuming an Activity) 在正常的应用程序使用,前台activity有时会被其他可视化组件遮挡,从而 造成activity的暂停. ...

  9. WWDC2015

     

  10. A Simple Actions Recognition System

    1. Problem Definition There's no doubt that researches and applications on the foundation of videos ...