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

  • GUN-TIME with Brandon

    GUN-TIME wit

    3 ŞUBAT 2009
  • LG Mobile Global

    LG Mobile Gl

    2 EYLÜL 2010
  • UCBerkeley

    UCBerkeley

    3 Mayıs 2006