惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 叶小钗
云风的 BLOG
云风的 BLOG
G
Google Developers Blog
S
SegmentFault 最新的问题
罗磊的独立博客
Hugging Face - Blog
Hugging Face - Blog
美团技术团队
爱范儿
爱范儿
博客园 - 三生石上(FineUI控件)
H
Hackread – Cybersecurity News, Data Breaches, AI and More
D
DataBreaches.Net
F
Fortinet All Blogs
TaoSecurity Blog
TaoSecurity Blog
D
Docker
C
Cybersecurity and Infrastructure Security Agency CISA
K
Kaspersky official blog
宝玉的分享
宝玉的分享
腾讯CDC
Google Online Security Blog
Google Online Security Blog
Recorded Future
Recorded Future
T
The Exploit Database - CXSecurity.com
T
The Blog of Author Tim Ferriss
V
V2EX
S
Securelist
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
C
CERT Recently Published Vulnerability Notes
A
Arctic Wolf
Scott Helme
Scott Helme
L
LINUX DO - 热门话题
Y
Y Combinator Blog
P
Proofpoint News Feed
T
Tor Project blog
AWS News Blog
AWS News Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
The Last Watchdog
The Last Watchdog
博客园 - 聂微东
T
Threat Research - Cisco Blogs
B
Blog
Attack and Defense Labs
Attack and Defense Labs
L
Lohrmann on Cybersecurity
C
CXSECURITY Database RSS Feed - CXSecurity.com
阮一峰的网络日志
阮一峰的网络日志
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
IT之家
IT之家
N
News and Events Feed by Topic
博客园 - 司徒正美
H
Help Net Security
C
Cisco Blogs
C
Check Point Blog
S
Secure Thoughts

博客园 - 墨墨

Windows Phone 7中配置gmail, 使用outlook 同步邮件,日历,联系人等 iPhone 闭包应用 iPhone屏幕旋转的例子 objective-c的TextFields输入完成后关闭键盘和触摸背景关闭键盘 第一个iPhone程序之Hello World iPhone自动化测试 visual studio 2010 ultimate 下载 suse下设置IP的两种方法 freebsd下之简单安装python ibatis.net私人学习资料,勿下(加密) ibatisnet高级查询 Python相关中文学习资料 搭建python的web开发环境 windows下 使用Aptana搭建Python开发环境 使用SharpZipLib 解压zip 2012年真的是世界末日吗?_全球关注 关于生成静态页--终极解决方案 Json格式类的转换相关代码 Extjs 登录界面源码
第一个objective-c程序
墨墨 · 2010-10-12 · via 博客园 - 墨墨

感谢兄弟的指导,第一次摸mac,使用xcode编写了一个小程序

首先新建一个项目为Test,新建Application->Command Line Tool

新建完成以后,会自动在主函数中添加hello world

当然我要的不是这么简单的程序,好也来个函数

首先点击左上角的Source文件夹,然后选择New Files,选择Objective-C Class,也就是第一个,点击Next直到完成(补充一下,文件名叫Test)。

xCode会给你新建一个Test.h,Test.m

这里说一下

Test.h类似于头文件,也就是写接口定义的(@interface

Test.m类似于方法的实现  (@implementation)

我们在Test.h里写- (int)TestAdd:(int)a second:(int)b;  定义一个方法为私有方法,前面的减号就是私有方法

(int)是返回值的类型

TestAdd是函数名

冒号后面跟参数

 (int)a 就是说a的返回类型是int类型的 

同理(int)b也是这样,在Objective-C中,变量类型是要用括号括起来的

为什么(int)b前面要写second呢?objective-c的标准写法就是这样,从第二个变量开始,每个变量需要有这个变量的描述

second (int) b的描述就是second,当然你在实际项目中要取一个有意义的名字,有人要问了,那为什么第一个变量没有呢?好问题!看到TestAdd了吗?方法名就可以了,我想这也是一个objective-c的优势所在,变量描述->变量类型->变量名

 OK,那我们来看方法的实现吧

 打开Test.m,输入如下代码:

@implementation  TestAdding

-(int) TestAdd:(int) a second:(int)b

{

return a+b;

}

@end

 这个很简单,单纯的方法实现

OK,保存。

然后重新打开入口程序

首先需要实例化,实例化的方法比较特别:

TestAdding *whm=[[TestAdding alloc] init];

 TestAdding是什么很明白了吧,然后objective-c用[[TestAdding allocinit]这种方法来实例化的。

然后下面就很简单了,输入NSLog(@"%d",[whm TestAdd:10 second:10]);

OK。编译,运行。

顺便提一下,因为这个命令行程序运行都是很快的,一般你看不到,所以打开左边的products,然后下面有个命令行窗体一样的符号,双击打开,就可以看到了