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

  • Bart Baker

    Bart Baker

    1 Aralık 2006
  • bunnyboxx

    bunnyboxx

    17 NİSAN 2008
  • Maya Learning Channel

    Maya Learnin

    23 HAZİRAN 2010