1
這是我今天早些時候發佈的一個相關問題,我最初考慮如何最好地爲NSObject的子類實現copyWithZone。我對我所擁有的東西感到非常滿意(見001),但想問一下關於解僱的問題(如果問題很重要,請說出它是否真的有必要)。直接設置實例變量?
有人指出,我認爲我可以這樣寫:
newCrime->_title = [_title copyWithZone:zone];
我有兩個問題,首先,在->
是用C++符號,有沒有訪問對象的屬性的Objective-C的方式(不使用setter/dot符號)?
最後,assign
和strong
我怎麼會寫這些,我敢肯定,分配將是:
newCrime->_coordinate = _coordinate;
,但我不知道該寫什麼了強烈的指針;
newCrime->_month =
。
@property(nonatomic, strong) NSString *month;
@property(nonatomic, strong) NSString *category;
@property(nonatomic, assign) CLLocationCoordinate2D coordinate;
@property(nonatomic, strong) NSString *locationName;
@property(nonatomic, copy) NSString *title;
@property(nonatomic, copy) NSString *subtitle;
。
// 001:
- (id)copyWithZone:(NSZone *)zone {
Crime *newCrime = [[[self class] allocWithZone:zone] init];
if(newCrime) {
[newCrime setMonth:_month];
[newCrime setCategory:_category];
[newCrime setCoordinate:_coordinate];
[newCrime setLocationName:_locationName];
[newCrime setTitle:_title];
[newCrime setSubtitle:_subtitle];
}
return newCrime;
}
謝謝你,我的道歉與問候到C++,我指的是 - >在訪問成員的OOP感對象的變量。如果您在@interface中將變量指定爲__strong __weak等,那麼只需將它們直接分配,即newCrime - > _ month = _month; ? – fuzzygoat 2012-03-28 17:04:19
@fuzzygoat是的,ARC會根據需要添加保留/釋放週期。但請注意,'copy'屬性需要很強並且使用'-copy'選擇器進行分配。 – 2012-03-28 17:39:11
謝謝,非常感謝理查德,我猜測對於我的copyWithZone實現,我想使用-copyWithZone指定複製屬性? – fuzzygoat 2012-03-28 18:03:24