首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Iphone >

IPhone学习一- 初始化

2013-11-08 
IPhone学习1- 初始化nil类似于C中的NULL, 但nil是Object, 可以发送消息给nil如:[nil message]BOOL 也是通

IPhone学习1- 初始化

nil     类似于C中的NULL, 但nil是Object, 可以发送消息给nil
如:
[nil message]

BOOL 也是通过类库实现的, 分别是YES和NO

#import   类似了  #include ,但不会存在重复包含的问题

在普通的双引号字符串前放置一个@符号,就成了一个 NSString对象

方法名字前面的单个减号(-)表明该方法是一个实例方法。如果方法名字前面是一个加号(+),则表明该方法是一个类(static)方法。
这个概念在C++中也是有的.



Objective-C中的类可以分为两种类型的方法:  实例方法(instance methods)和类方法(class methods).   实例方法就是一个在类的一个具体实例的范围内执行的方法。也就是说,在你调用一个实例方法前,你必须首先创建类的一个实例。而类方法,不需要你创建一个实例。





以下是自己在学习Objective-c的时候所涉及的代码:

类的定义:







Java代码 
#import <Cocoa/Cocoa.h>  
 
 
@interface StringUtils : NSObject {  
 
}  
//默认的初始化方法  
- (id) init;  
//指定的初始化方法,比如NSString自带的有 initWidthFormat这个初始化方法  
- (id) initWithString:(NSString*) string;   
- (NSArray*) split:(int) a;  
 
@end 

#import <Cocoa/Cocoa.h>


@interface StringUtils : NSObject {

}
//默认的初始化方法
- (id) init;
//指定的初始化方法,比如NSString自带的有 initWidthFormat这个初始化方法
- (id) initWithString:(NSString*) string;
- (NSArray*) split:(int) a;

@end






类的实现:







Java代码 
//  
//  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) initWithStringNSString *) string  
{  
 
 
    if(self =  [super init]){  
      
        NSLog(string);  
    }  
    return (self);  
      
}  
 
- (NSArray*) split:(int) a  
{  
      
    NSLog(@"aaaaaaaaa");  
    return @"ssss";  
      
      
          
}  
@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) initWithStringNSString *) string
{


if(self =  [super init]){

NSLog(string);
}
return (self);

}

- (NSArray*) split:(int) a
{

NSLog(@"aaaaaaaaa");
return @"ssss";



}
@end




开始调用:







Java代码 
#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;  

热点排行