Objective-C 基础语法详解

雨松MOMO原创文章如转载,请注明:转载至我的独立域名博客雨松MOMO程序研究院,原文地址:http://www.xuanyusong.com/archives/368

如果想从事iphone开发的话 Objective-C 这门语言就不得不学会 我们都知道C语言是没有面向对象的 而Object-C 则是ANSI C 的一个严格超集 它是具有面向对象的特性的 由于IPHONE 的成功 让这门语言现在非常的火热 今天笔者为大家介绍一下在xcode中 使用Objective-C 的基本语法。

1.打开mac系统中强大的Xcode软件 单击Create a new Xcode project  创建一个Xcode项目。

2. 选择“View-based Application” 因为只是介绍基本语法 所以 “View-based Application” 已经够用了 。 选择完后  点击Next 。

3.输入相应的信息后点击Next。



Product Name: 指产品名称 ,可以随意命名。

Company Identifier: 公司标识符,一般命名规则为 “com.公司名”

Bundle Identifier: 指包标识符,用于唯一标识应用程序,默认会根据公司标识符和产品名来组合生成

Device Family: 指该应用支持的设备类型,共三个选项:iPhone、iPad、Universal(即iPhone、iPad通用)

Include Unite Tests: 是否包含单元测试代码模板,如果勾选,Xcode会帮助生成单元测试代码模板

这样 我们的第一个项目就创建好了,接下来开始为大家介绍 Objective-C 的语法

在项目视图中 打开 helloWorldViewController.m文件 找到 - (void)viewDidLoad 方法 (这个方法每次启动程序都会调用 )

学过C++的朋友应该都知道 新写一个类会有 一个.h 声明类的变量 方法等 .cpp 用来实现方法  Objective-C   则也类似C++  .h 声明类的变量 方法  .m 用来实现方法

在c语言中 我们在控制台输出信息是用printf()   Java语言则是 System.out.println() 而Objective-C  则是用 NSLog();

打开控制台的快捷键为 command + shift + R

  1. //
  2. //  helloWorldViewController.m
  3. //  helloWorld
  4. //
  5. //  Created by  宣雨松 on 11-7-4.
  6. //  Copyright 2011年 __MyCompanyName__. All rights reserved.
  7. //
  8. #import "helloWorldViewController.h"
  9. #import "MyClass.h"//导入新写的类
  10. @implementation helloWorldViewController
  11. - (void)dealloc
  12. {
  13. [super dealloc];
  14. }
  15. - (void)didReceiveMemoryWarning
  16. {
  17. // Releases the view if it doesn't have a superview.
  18. [super didReceiveMemoryWarning];
  19. // Release any cached data, images, etc that aren't in use.
  20. }
  21. #pragma mark - View lifecycle
  22. // Implement viewDidLoad to do additional setup after loading the view, typically from a
  23. nib.
  24. - (void)viewDidLoad
  25. {
  26. [super viewDidLoad];
  27. //打印一个字符串
  28. NSLog(@"only log hello world");
  29. //字符串相加
  30. NSString *str;
  31. NSString *str1 = @"plusA ";
  32. NSString *str2 = @"+";
  33. NSString *str3 = @"plusB";
  34. // 把str1 str2 str3 相加后赋值给str %@ 表示是一个对象 这里也可以用 %d  %s 在这里就不一一举例了。
  35. str = [NSString stringWithFormat:@"%@ %@ %@",str1,str2,str3];
  36. //打印出str
  37. NSLog(@"string plus %@",str);
  38. //self 好比C++ 或者 java 语言中的 this 指针 指向本类 这里调用了本类的 putString方法 将字符串"pass string"作为参数传递了进去
  39. [self putString:@"pass string"];
  40. //在内存中new了一个MyClass的对象  alloc是在内存中 分配内存  init 则是初始化 这样写 属于规定写法
  41. MyClass * myclass = [[MyClass alloc] init];
  42. // 用myclass指针调用 类中putclass方法 将字符串 "pass class string"作为参数传递进去
  43. [myclass putclass:@"pass class string"];
  44. //调用类中静态方法 将字符串"static pass class string "作为参数传递进去
  45. [MyClass staticPutClass:@"static pass class string"];
  46. }
  47. - (void)viewDidUnload
  48. {
  49. [super viewDidUnload];
  50. // Release any retained subviews of the main view.
  51. // e.g. self.myOutlet = nil;
  52. }
  53. - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
  54. {
  55. // Return YES for supported orientations
  56. return (interfaceOrientation == UIInterfaceOrientationPortrait);
  57. }
  58. //自己写的类方法输出字符串
  59. -(void)putString:(NSString *)str
  60. {
  61. NSLog(@"%@",str);
  62. }
  63. @end

//这个类的声明

  1. #import <UIKit/UIKit.h>
  2. @interface helloWorldViewController : UIViewController {
  3. }
  4. -(void) putString:(NSString*)str;
  5. @end

MyClass类的实现

  1. #import "MyClass.h"
  2. @implementation MyClass
  3. //方法前是-号的说明这是一个实力方法 必需本类new过才能调用
  4. -(void)putclass:(NSString *)str
  5. {
  6. NSLog(@"%@",str);
  7. }
  8. //方法前是+号的说明这是一个类方法 这种方法无权访问实例变量
  9. //这里声明了一个静态方法 无需本类new过也可以调用
  10. +(void)staticPutClass:(NSString *)str{
  11. NSLog(@"%@",str);
  12. }
  13. @end

MyClass类的声明

  1. #import <Foundation/Foundation.h>
  2. @interface MyClass :NSObject{
  3. }
  4. -(void) putclass : (NSString *) str;
  5. +(void) staticPutClass :(NSString *) str;
  6. @end

这样Objective-C 基本的语法就给大家介绍完了, 希望有兴趣的朋友可以和我一起讨论 我们可以一起进步。

Objective-C 基础语法log打印那些事儿(一)的更多相关文章

  1. javascript中正则表达式的基础语法

    × 目录 [1]定义 [2]特点 [3]元字符[4]转义字符[5]字符组[6]量词[7]括号[8]选择[9]断言[10]模式[11]优先级[12]局限性 前面的话 正则表达式在人们的印象中可能是一堆无 ...

  2. Objective-C基础语法快速入门

    Objective-C基础语法快速入门 2010-11-04 16:32 折酷吧 zheku8 字号:T | T 假如我们对面向对象的思维已经C语言都很熟悉的话,对于我们学习Objective-C将会 ...

  3. Python学习的个人笔记(基础语法)

    Python学习的个人笔记 题外话: 我是一个大二的计算机系的学生,这份python学习个人笔记是趁寒假这一周在慕课网,w3cschool,还有借鉴了一些博客,资料整理出来的,用于自己方便的时候查阅, ...

  4. JavaScript 正则表达式基础语法

    前言 正则表达式在人们的印象中可能是一堆无法理解的字符,但就是这些符号却实现了字符串的高效操作.通常的情况是,问题本身并不复杂,但没有正则表达式就成了大问题.javascript中的正则表达式作为相当 ...

  5. python基础语法及知识点总结

    本文转载于星过无痕的博客http://www.cnblogs.com/linxiangpeng/p/6403991.html 在此表达对原创作者的感激之情,多谢星过无痕的分享!谢谢! Python学习 ...

  6. 【Scala学习之一】 Scala基础语法

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk1.8 scala-2.10.4(依赖jdk1.8) spark ...

  7. Unit04: JavaScript 概述 、 JavaScript 基础语法 、 流程控制

    Unit04: JavaScript 概述 . JavaScript 基础语法 . 流程控制 my.js function f3() { alert("唐胜伟"); } demo1 ...

  8. 1.scala基础语法总结

    Scala基础语法总结:Scala 与 Java 的最大区别是:Scala 语句末尾的分号 ; 是可选的.如果一行里写多个语句那么分号是需要的 val s = "菜鸟教程"; pr ...

  9. Ajax基础知识 浅析(含php基础语法知识)

    1.php基础语法    后缀名为.php的文件 (1) echo   向页面中输入字符串  <?php    所有php相关代码都要写在<?php ?>这个标签之中 echo &q ...

随机推荐

  1. Ubuntu下搭建WordPress环境

    WordPress是一种使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站.也可以把 WordPress当作一个内容管理系统(CMS)来使用.WordPr ...

  2. php curl请求。header头中添加请求信息

    function get_data($key,$authorization,$url){ $headers = array(    'api-key:'.$key,    'authorization ...

  3. Redis设计与实现 (二): 链表

    Redis实现为双链表结构, 列表键的底层实现之一就是链表,  发布与订阅, 慢查询, 监视器等功能都用到了链表. Redis本身也使用链表维持多个客户端. 节点定义, 位于 adlist.h/lis ...

  4. python中的单元测试pyUnit

    python中的单元测试pyUnit   在Python中进行单元测试时需要用到PyUnit模块,Python 2.1及其以后的版本都将PyUnit作为一个标准模块,但如果你使用的是较老版本的Pyth ...

  5. 在html与php中实现上传图片

    form.html文件 <body> 点击浏览按钮添加要上传的文件(*请上传大小不能大于2M的静态图片)<br /> <form enctype="multip ...

  6. 当 PHP 遇上 MongoDB

    FROM:http://www.cstor.cn/textdetail_7995.html 之前笔者出了一篇文章是教大家在 Linux 下安装 MongoDB,并且透过 Mongo Client 操作 ...

  7. 搭建Ganglia乱码及其他问题总汇

    搭建Ganglia乱码及其他问题 搭建完Ganglia监控后图像显示正常,但是文字却显示都是小方框,最后确定是由于系统缺少字体导致的, /usr/share/fonts/  Centos默认存放字体的 ...

  8. 安装nagios-plugins插件make时遇到的error

    安装nagios-plugins插件make时遇到的error error内容: check_http.c: In function ‘process_arguments’: check_http.c ...

  9. Linux下GCC和Makefile实例(从GCC的编译到Makefile的引入)

    一.确认已经装好了GCC和Make的软件包 可以使用whereis命令查看: 如果whereis  gcc和whereis  make命令有结果,说明安装了这两个软件,可以继续往下做. 二.使用GCC ...

  10. 完整的qt安装教程

    大家可能认为qt收费了 其实不是 大家直接点击 这个 Community 这里的下载 Download 然后呢 就跳转到这个界面 点击 Qt Offline Installer 就会跳到这个地方 滑下 ...