本文主要是介绍Objective-C小试牛刀,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
昨天看了一遍《Learn Objective-C on the Mac》,晦涩难懂。这本书的编码环境实在是过于陈旧,跟我现在用的Xcode4.2差距甚远。边看边写边求索于谷歌、百度。最终,凭着尚有老本的C/C++基础,弄明白这是怎么一回事。C语言的确是万源之源,只要你还有那么点C的基础,入手Object-C就不算太难。
做个简单的纪录,定义一个人物类,只要求有名字,年龄。
先做个接口定义,要求对成员变量赋值,并且输出结果
#import <Foundation/Foundation.h>
@interface Person : NSObject {
// 是不是可以理解为私有变量,成员变量?那本书里没有这个语法。
@private
NSString *name;
int age;
}
//设置参数方法
//变量类型要放在括号里,很奇特的语法
- (void) setName:(NSString *) nameValue;
- (void) setAge:(int) ageValue;
//打印数据
- (void) print;
@end
做个实现类:
#import "Person.h"
@implementation Person
- (void) setName:(NSString *)nameValue
{
name = nameValue;
}
- (void) setAge:(int)ageValue
{
age = ageValue;
}
- (void) print
{
// 字符串格式化,nil据说就是0,我也不知道该怎么描述它
// 还要用到stringWithFormat,叫做类方法
NSLog([NSString stringWithFormat:@"姓名:%@",name], nil);
NSLog(@"年龄:%d",age);
}
@end
最后,来调用:
#import <Foundation/Foundation.h>
#import "Person.h"
int main (int argc, const char * argv[])
{
@autoreleasepool {
// 实例化Person,这里都是在[]中完成的
// [Person new]意思是向Person发送new指令
Person *person = [Person new];
// 调用setAge方法,冒号后面赋值
[person setAge:29];
// NSString变量初始化时需要用@符号前缀
[person setName:@"Snowolf"];
//调用print方法
[person print];
}
return 0;
}
其结果就是:
[img]http://dl.iteye.com/upload/attachment/604138/d557da8c-912a-3272-b293-adec161e3101.png[/img]
留做纪念,几乎一年没有写代码了,更别说是写这么个新玩意——Object-C。
如何找回自己?先从熟悉的事情做起。。。 :)
这篇关于Objective-C小试牛刀的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!