Objective-C小试牛刀

2024-01-15 18:58
文章标签 objective 小试牛刀

本文主要是介绍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小试牛刀的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/609890

相关文章

Xamarin.iOS使用Objective-C静态类库.a(Linking Native Libraries)

Xamarin静态类库的binding实际上是一个C#与Objective-C方法间映射过程,由于第三方SDK对iOS开发至关重要,因此官方文档中也对这块也做了完整的介绍(Binding Objective-C Libraries),但对于一个完全入门级的程序员来说,这块还是有诸多麻烦,并且部分Api类型文档上也未曾提到。下面将以百度地图作为案例,全面解析静态类库binding工程的知识与问题

浅析objective-c中的strong和weak

在才开始学习oc时,搞不懂什么时候用strong,什么时候用weak,经过一段时间的学习,我谈谈我对strong和weak的理解。 首先strong和weak这两个关键字是用来修饰变量,表示这个变量是强(strong)引用和弱(weak)引用 我们在程序中经常会用到“[[class alloc]init]” 这样的代码,我想你对它已经很熟。这是在开辟一块内存,并初始化。那么系统开辟了这块内

【UIDynamic-动力学-UISnapBehavior-甩行为 Objective-C语言】

一、接下来,我们来说这个甩行为啊,碰撞就说这么多, 1.甩行为,就是说,我现在点击屏幕的某一个点,它甩到某一个地方去, 就是要做这么一个功能啊, 首先呢,我新建一个项目,Name:08-甩行为 首先呢,还是一段儿简单的代码,把之前的红色View拿过来, (100,100), 然后呢,这块儿来一个xWeak, 来一个UIView,再来一个redView, 好,

Objective-C如何使用 Web 服务之学习系列五

学习摘要: ● 使用 NSURL 下载文件 ● 通过 XML 与 JSON 使用 Web 服务 ● 解析 XML 与 JSON 数据 ● 通过 NSURLConnection 异步地使用 Web 服务 7.1 下载文件 问题 你想从网上下载文件。 解决方案 使用 NSURL 指定文件的 URL,然后使用 NSData 将文件的内容下载到文件

Objective-C如何使用日期、时间与定时器学习系列之四

本章介绍如何通过 Foundation 框架使用 Objective-C 处理日期与定时器。本章内容: ●  使用 NSDate 创建今天的日期 ●  使用 NSDateComponents 创建自定义日期 ●  比较日期 ●  将字符串转换为日期 ●  格式化日期以在用户界面上显示 ●  加减日期 ●  使用定时器调度重复与非重复的代码 5.1 创建表示今天的日期对象 问题

Objective-C如何使用对象集合之学习系列三

学习摘要: 创建集合; 获取集合中元素的数量; 比较集合; 遍历集合; 操纵集合内容。 3.17 创建集合 问题 应用需要在未排序的集合中存储对象。 解决方案 可以通过两个 Objective-C Foundation 类— NSSet 与 NSMutableSet 来创建集合。如果不需要修改集合,就使用 NSSet;如果在后面要向集合中添加或删除对象,就使用 NSM-ut

Objective-C如何使用对象集合学习系列二

学习摘要: ● 将数组的内容保存到文件系统中 ●  使用 NSDictionary 与 NSMutableDictionary 创建字典 ●  在字典中添加与删除对象 ●  通过不同方式遍历字典 ●  将字典的内容保存到文件系统中  3.7 操纵数组内容 问题 你希望数组内容能够更具动态性,这样用户或你就可以在数组中添加、删除和插入对象了。然而,NSArray 是

Objective-C如何使用对象集合学习系列之一

本章介绍如何通过 Foundation 框架使用 Objective-C 处理数组与字典。本章内容: ●  使用 NSArray 与 NSMutableArray 创建数组 ●  在数组中添加、删除与插入对象 ●  数组的搜索与排序 ●  通过不同方式遍历数组 ●  将数组的内容保存到文件系统中 ●  使用 NSDictionary 与 NSMutableDictionary 创

Objective-c NSFileManager类和NSFileHandle类的使用

NSFileManager* fm = [NSFileManager defaultManager];         //判断一个文件是否存在,返回一个BOOL值         if([fm fileExistsAtPath:@"/tmp/AddressCard.m"])         {             NSLog(@"exist");         }

objective-c 中 NSNumber 和 NSString 中常见方法的使用

#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) {     @autoreleasepool {                 NSNumber* n1 = [[NSNumber alloc] initWithInt:100];//使用实例方法创建对象,需要手动释放         int