0

Objective-C を学習する初日ですが、Java のバックグラウンドがあります。インスタンス変数に使用するのと同じ変数名をパラメーターに使用したいと考えています。Javaでは、このようにします

public class Person
{
    private String name;
    private String age;

    public void setName(String name)
    {
        this.name = name;
    }
    public void setAge(String age)
    {
        this.age = age;
    }
}

これまでの目的のcでは、私はこれを持っています

@interface Person : NSObject
{
    int age;
    int name;
}
    -(void) setAge:(int) age;
    -(void) setName:(int) name;
    -(int) getAge;
    -(int) getName;
@end

@implementation Person
-(void) setName:(int) w
{
    weight = w;
}
-(void) setAge:(int) a
{
    age = a;
}
-(int) getName
{
    return name;
}
-(int) getAge
{
    return age;
}
@end
4

4 に答える 4

1

Objective-C では、独自のアクセサーを定義するか、使用@syntehsizeして自動的に作成することができます。

アクセサーを手動で定義する場合、セッターは次のように宣言されます。

- (void)setName:(NSString *)name {

    self.name = name;
}

- (void)setAge:(NSInteger)age {

    self.age = age;
}

ゲッターの場合は、次のように宣言するだけです。

- (NSString *)name {

    return self.name;
}

- (NSInteger)age {

    return self.age;
}
于 2012-11-14T02:15:16.837 に答える
1

Objective-C プログラマーはタイピングが好きではないので、次のようにします。

@interface Person : NSObject
@property(nonatomic, copy) NSString *name;
@property(nonatomic, assign) int age;
@end

@implementation Person
@end

Apple のObjective-C Programming Language Introductionを読むことから始めることをお勧めします。

于 2012-11-14T02:10:44.590 に答える
0

ObjectiveC では、「this」を参照する方法は「self」です。

于 2012-11-14T02:10:12.253 に答える
0

C スタイルの変数を使用しているため、ObjectiveC にこれがあります。その変数をObjectiveCプロパティとして宣言し、正しい合成命令を使用すると、次のようになります。

@property (int) age;

@synthesize age;

次に、それらを介して参照できますself.age

self.age = age;

実装ファイルで。-(void)setAge:(int)ageこれにより、メソッドと-(int) age自動的に定義されるメソッドが内部的に呼び出されます。

最後に、ObjectiveC オブジェクトは C 構造体へのポインターにすぎないため、構造体へのポインターのフィールドを参照する構文を使用して ObjectiveC をスキップすることで、変数にアクセスできます。self->age = age

于 2012-11-14T02:10:36.980 に答える