2012-03-06 43 views
0

ObjC for iPhone的语法看起来过于混乱。我确信这篇文章将帮助和节省不仅我的时间,而且还有那些开始与ObjC合作的人。适用于Java开发人员的基本Objective-C

  1. 如何在类中创建和调用函数?
  2. 如何在调用函数时传递参数,包括基元和对象?
  3. 如何创建一个全局变量(基元和对象),我可以在整个类中访问? (我尝试在.h类中声明一个数组,并在ViewDidLoad方法中设置值并从其他方法访问它,但它不起作用!)。
+3

所有这些问题已经在SO上解答。如有必要,请环顾四周,并发布更具针对性的问题。 – 2012-03-06 07:05:14

回答

0

cocoa dev cenral网站覆盖基本。网络上有很多ios博客。试着用谷歌搜索一个特定的主题,我相信你会得到很多教程或样本。

3

我会尽量用例子来回答。

问:如何在类中创建和调用函数? A:几乎和Java一样。只是有点不同的语法。示例

//Java: 
private string exampleMethod { 
    return "it is an example"; 
} 
//somewhere in the code: 
System.out.println("example output: " + exampleMethod); 

//Objective-C : 
-(NSString)exampleMethod { 
    return @"it is an example"; 
} 
//somewhere in the code: 
NSLog(@"example output: %@", [self exampleMethod]); 

问:如何在调用函数时传递参数,包括基本类型和对象?

答:

//Java: 
private int calculateSum(int i1, int i2) { 
    return i1 + i2; 
} 
//somewhere in the code: 
int someInt = calculateSum(8, 23); 

//Objective-C : 
-(int)calculateSumOf:(int)i1 and:(int)i2 { 
    return i1+i2; 
} 
//somewhere in the code: 
int someInt = [self calculateSumOf:8 and:23]; 

传递的对象是完全一样的原语:

NSNumber *myNumber = [NSNumber numberWithInt:23]; 
[self someMethodThatNeedsAnInt:8 andSomeRandomObject:myNumber]; 

问:我如何创建一个全局变量(原始和对象),我可以访问所有在班上? (我尝试在.h类中声明一个数组,并在ViewDidLoad方法中设置值并从其他方法访问它,但它不起作用!)。

答:如果你只需要访问它在你的类,然后做你的.h(头)文件类似的东西:

@interface YourClass : NSObject { 
    int itIsAnExampleOfIntVariable; 
    YourOtherClass *itIsAnExampleOfObjectVariable; 
} 

,不要忘了包括#import "YourOtherClass.h如果你正在使用它。之后,您可以在班级中使用这些变量。

希望它可以帮助

1

我真的,真的建议阅读Objective-C的一本大书,但我会给你一个小抄的平均时间:

创建一个函数:

@interface ClassName 

- (void) methodName; 

调用从类实现的功能:

[self methodName]; 

调用来自不同类的功能:

ClassName* class = [[ClassName alloc] init]; 
[class methodName]; 

带有参数的函数:

[self methodName:@"theArgumentStringBeingPassed"]; 

声明类变量:

@interface ClassName 
{ 
    NSString* aStringVariable; 
} 
与参数

- (void) methodName:(NSString*)aStringArgument; 

调用函数次

访问它的类实现:

@implementation ClassName 

- (id) init 
{ 
    aStringVariable = @"aString"; 
} 

合成getter和setter的变量:

@interface ClassName 
{ 
    NSString* aStringVariable; 
} 

@property (nonatomic, retain) NSString* aStringVariable; 

实施:

@implementation ClassName 

@synthesize aStringVariable; 

得到它:

self.aStringVariable 

进行设置:

self.aStringVariable = @"newString"; 

//OR 

[self setAStringVariable:@"newString"]; 

同样,你肯定会想深入了解的语言真的感觉很舒服。

相关问题