锁定老帖子 主题:Objective-c 学习: 初始化
精华帖 (0) :: 良好帖 (0) :: 新手帖 (3) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-07-12
最后修改:2010-12-27
版权所有,欢迎转载,转载请注明 : SinFrancis http://mdev.cc
nil 类似于C中的NULL, 但nil是Object, 可以发送消息给nil BOOL 也是通过类库实现的, 分别是YES和NO #import 类似了 #include ,但不会存在重复包含的问题 在普通的双引号字符串前放置一个@符号,就成了一个 NSString对象 方法名字前面的单个减号(-)表明该方法是一个实例方法。如果方法名字前面是一个加号(+),则表明该方法是一个类(static)方法。
以下是自己在学习Objective-c的时候所涉及的代码:
#import <Cocoa/Cocoa.h> @interface StringUtils : NSObject { } //默认的初始化方法 - (id) init; //指定的初始化方法,比如NSString自带的有 initWidthFormat这个初始化方法 - (id) initWithString:(NSString*) string; - (NSArray*) split:(int) a; @end
类的实现:
// // StringUtils.m // string // // Created by sin francis on 10-7-12. // Copyright 2010 __MyCompanyName__. All rights reserved. // #import "StringUtils.h" @implementation StringUtils - (id) init { if(self = [super init]){ NSLog(@"init method"); } return (self); } - (id) initWithString :(NSString *) string { if(self = [super init]){ NSLog(string); } return (self); } - (NSArray*) split:(int) a { NSLog(@"aaaaaaaaa"); return @"ssss"; } @end
开始调用:
#import <Foundation/Foundation.h> #import "StringUtils.h" int main (int argc, const char * argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; //StringUtils* s= [[StringUtils new]; //一开始使用的方法,生成对象,现在我们使用alloc的方式生成对象 StringUtils* s= [[StringUtils alloc] init]; [s split: 1]; StringUtils* s1= [[StringUtils alloc] initWithString :@"this is the init string"]; // insert code here... NSLog(@"Hello, World!"); [pool drain]; return 0; }
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-07-12
转战iphone了?
|
|
返回顶楼 | |
发表时间:2010-07-13
我也在学Object C,刚开始看的时候一头雾水。慢慢就发现它的优点所在了
|
|
返回顶楼 | |
发表时间:2010-07-14
王山而 写道 转战iphone了?
最近事多,大部分的终端平台都要涉及。 |
|
返回顶楼 | |
发表时间:2010-08-08
咨询一下,我没有苹果本,应该如何学习iphone开发
虚拟机的MAC系统找不到,而且说是有风险 |
|
返回顶楼 | |
发表时间:2010-08-09
王山而 写道 咨询一下,我没有苹果本,应该如何学习iphone开发
虚拟机的MAC系统找不到,而且说是有风险 verycd上面有虚拟机的mac 系统,不过如果硬件配置不行会非常慢的,虚拟机没风险 |
|
返回顶楼 | |
发表时间:2010-08-26
学习中,希望能搞定
|
|
返回顶楼 | |
发表时间:2010-09-15
@lz
*你的代码有点乱 *你的初始化方法有点不对头,初始化应该是类方法 |
|
返回顶楼 | |
发表时间:2010-09-16
ph4nut 写道 @lz
*你的代码有点乱 *你的初始化方法有点不对头,初始化应该是类方法 代碼是有點亂,這個代碼只是為了說明初始化工作而已。 我想你說的類方法應該是靜態方法吧,是否就是相對於Java中的static方法,(不知道是否可以這樣理解,如果有誤,請指正)。 但是我查閱了很多資料沒有哪個文獻是說要把初始化方法(構造方法)作為靜態方法使用的,比如《Objective-c基礎教程》(人民郵電出版社)中143-149頁,就沒有這個說法。 如果你找到了相關資料,希望能告知鄙人。 |
|
返回顶楼 | |
发表时间:2010-09-16
StringUtils的内存是不是应该释放一下?
|
|
返回顶楼 | |