ObjC for iPhone的语法看起来太混乱了。我相信这篇文章不仅可以帮助我,也可以节省那些开始与ObjC合作的人。
答案 0 :(得分:3)
我会尝试回答一些例子。
问:如何在类中创建和调用函数?
答:几乎和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 :(得分:1)
我真的,真的建议读一本关于Objective-C的大书,但我会在同一时间给你一张备忘单:
创建一个函数:
@interface ClassName
- (void) methodName;
从类实现中调用函数:
[self methodName];
从另一个类调用该函数:
ClassName* class = [[ClassName alloc] init];
[class methodName];
带参数的函数:
- (void) methodName:(NSString*)aStringArgument;
使用参数调用函数:
[self methodName:@"theArgumentStringBeingPassed"];
声明类变量:
@interface ClassName
{
NSString* aStringVariable;
}
从类实现中访问它:
@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"];
同样,你肯定想深入了解这种语言,真的感觉很舒服。
答案 2 :(得分:0)
cocoa dev cenral网站涵盖了基本内容。网上有很多ios博客。尝试谷歌搜索一个特定的主题,我相信你会得到很多教程或样本。