当前位置: 移动技术网 > IT编程>开发语言>C/C++ > 初学Objective-C语言需要了解的星星点点

初学Objective-C语言需要了解的星星点点

2018年04月10日  | 移动技术网IT编程  | 我要评论

王雅捷胸围,第二次握手打一字,在线看房

一.Xcode,Objective-C,Cocoa说的是什么东西?

Xcode:你可以把它看作是一种开发环境,就像Visual Studio或者Netbeans或者SharpDevelope类似的东东。你可以将Interface Builder比作Visual Studio中用来画界面的那部分功能单独提取出来的程序。

Objective-C:当然是一种编程语言-.-  就像C,C++,Java一样滴~

Cocoa:是一大堆函数东西,你只要会用就行。对,就是当年乔帮主亲口说的“提高编写效率,不是不断编程提高编程能力,而是去消灭70percent的代码”。库,就像MFC或者.NET 或者Swing这类东东。人家已经写好的一堆现成的

二,Objective-C是神马?

下面列出初学Objective-C会提出的问题:

问题一:我在程序中看到大量的减号,中括号和以前见到的有什么区别,还有NS***是神马-.-

1.减号(或者加号)

    减号表示一个函数或者方法或者消息的开始。如:

 

#import<Foundation/Foundation.h>

#import"Student.h"

@implementation Student

-(int)getAge{

        return age;

}

-(void)setAge:(int)newAge{

        age = newAge;

}

@end

 

 

 

2.中括号

    中括号可以认为是调用你刚才写的方法。如:

 

#import<Foundation/Foundation.h>

#import"Student.h"

int main(int argc,const char * argv[ ])

{

        @autoreleasepool{

                Student *stu = [Student alloc];

                stu = [stu init];

        }

        return 0;

}

@end

 

 

 

3.NS***

    史蒂夫 乔布斯当年被人挤兑出苹果公司后创办的一个公司NextStep,里面一整套开发包很是让科学家喜欢,现在的Mac OS就是用NextStep的函数库。

    这些NextStep开发者纪念性的将函数库里面所有的类NextStep缩写打头命名。就是NS***了,诸如:

NSLog

NSString

NSImage

NSURL

NSInteger

...

    在学习时,你会经常看到:

    NSLog(@"%d",myInt);

ne里面的图片

 

 这句话主要是在console里面跟踪使用,你会在console里面看到myInt的值(在XCode里面运行的时候打开dbg窗口即可看到)。而我们在其他开发环境里面可能会比较习惯使用MessageBox这种方式进行调试。

 

 

 

你还可以看到其他名字打头的一些类,比如CF、CA、CG、UI等等,比如

 

CFStringTokenizer 这是个分词的东东

 

CALayer 这表示Core Animation的层

 

CGPoint 这表示一个点

 

UIImage 这表示iPho

 

CF说的是Core Foundation,CA说的是Core Animation,CG说的是Core Graphics,UI说的是iPhone的User Interface……还有很多别的,等你自己去发掘了。

 

问题二:#import这类玩意是什么?

1.#import

你可以把它认为如#include一样的。

 

 

三,其他一些东西

1.id

Objective-C中有一种特殊的数据类型id。在Objective-C中一切数据都是指针形式保存。你获得的就是这个对象在内存中的位置。

2.BOOL,YES,NO

你可以认为YES是c#或Java中的true,NO表示false。而实际上YES是1,NO是0,BOOL本身就是个char。

3.nill

Objective-C中的NULL就这么样写,表示空指针。

4.为什么是@"字符串"而不是"字符串"

"字符串"是C的字符串,@“字符串”是把C的字符串转换成NSString的一个简写。

在需要NSString的地方才需要转换,例如NSLog里。

在需要C String的地方还是要用"字符串"的。

另外,@""是不支持中文的,NSLog(@"字符串")是绝对输不出中文的。

 

四,总结

1.Objective -C 只是一门编程语言,不是火星语,只要我们用心学再配以恰当的方法,就能够融会贯通。

2.将www.Cocochina.com加入收藏夹,看不明白代码时,就来看看一些牛人的好文。

3.学习一门语言最好就是在用中学,这就和学外语一样,你会说自然就会读。给自己设立一个简单的目标,比如做一个简单的程序,然后一点点解决问题。这样学习起来比只看例子快得多。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网