SORU
9 Mayıs 2009, CUMARTESİ


&Quot;örnek değişken" ve "özellik" Objective-c arasında bir fark var mı?

"Örnek değişken" ve "" Objective-c? özellik arasında bir fark

Bu konuda çok emin değilim. Bir "mülkiyet" erişimci yöntemleri vardır, ama yanlış düşünüyor olabilirim. bir örnek değişken olduğunu düşünüyorum

CEVAP
9 Mayıs 2009, CUMARTESİ


Bir özelliği daha soyut bir kavramdır. Örnek değişkeni kelimenin tam anlamıyla sadece bir depolama yuvası, bir yapı, bir yuva gibi. Normalde diğer nesneler asla onları doğrudan erişim gerekiyor. Bir özellik, diğer taraftan erişilebilen bir nesne (belirsiz sesler ve olması gerektiği) bir niteliğidir. Genellikle bir mal iade veya bir örnek değişkeni ayarlamak olacaktır, ama birkaç veya hiçbiri veriyi kullanabilir. Örneğin:

@interface Person : NSObject {
    NSString *name;
}

    @property(copy) NSString *name;
    @property(copy) NSString *firstName;
    @property(copy) NSString *lastName;
@end

@implementation Person
    @synthesize name;

    - (NSString *)firstName {
        [[name componentsSeparatedByString:@" "] objectAtIndex:0];
    }
    - (NSString *)lastName {
        [[name componentsSeparatedByString:@" "] lastObject];
    }
    - (NSString *)setFirstName:(NSString *)newName {
        NSArray *nameArray = [name componentsSeparatedByString:@" "];
        NSArray *newNameArray [[NSArray arrayWithObjects:newName, nil] arrayByAddingObjectsFromArray:[nameArray subarrayWithRange:NSMakeRange(1, [nameArray size]-1)]];
        self.name = [newNameArray componentsJoinedByString:@" "];
    }
    - (NSString *)setLastName:(NSString *)newName {
        NSArray *nameArray = [name componentsSeparatedByString:@" "];
        NSArray *newNameArray [[nameArray subarrayWithRange:NSMakeRange(0, [nameArray size]-2)] arrayByAddingObjectsFromArray:[NSArray arrayWithObjects:newName, nil]];
        self.name = [newNameArray componentsJoinedByString:@" "];
    }
@end

(Not: Yukarıdaki kod adı zaten var olduğunu varsayar ve en az iki bileşeni vardır o adamcağız ("Bill Gates" yerine sadece "Kapı"). daha ör Bu varsayımlar tamir kimsenin masum o hataları tekrarlar çok dikkat çekiyorum bu yüzden kodu gerçek anlamı daha az açık olacağını hissettim.)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • hitcreatormusic2

    hitcreatormu

    21 Mayıs 2010
  • Semantic Mastery

    Semantic Mas

    30 EKİM 2013
  • TheRightTire

    TheRightTire

    14 EKİM 2009