指派屬性發生什麼事,我宣佈在頭文件中的兩個屬性: @property(strong)NSString *p1; @property(assign)NSString *p4;
現在執行的文件,我寫兩個方法來測試指派屬性:在iOS上
- (void)testAssign {
NSString *rawString = @"Hello, ";
NSString *resultString = [rawString stringByAppendingString:@"World"];
self.p4 = resultString;
resultString = nil;
(@"My group is %@", self.p4);
}
在此場景將是一個錯誤。
但是當如下面的代碼,這樣做的很好:
- (void)testString {
NSString *rawString = @"Hello, ";
NSString *resultString = [rawString stringByAppendingString:@"World"];
self.p4 = resultString;
self.p1 = resultString;
NSLog(@"now result is %@, %@", self.p4, self.p1);
resultString = nil;
NSLog(@"now result is %@, %@", self.p4, self.p1);
self.p1 = nil;
NSLog(@"now result is %@, %@", self.p4, self.p1);
}
結果是:
2014-06-29 19:10:55.798 TestDemo[20853:303] now result is Hello, World, Hello, World
2014-06-29 19:10:55.798 TestDemo[20853:303] now result is Hello, World, Hello, World
2014-06-29 19:10:55.799 TestDemo[20853:303] now result is Hello, World, (null)
第二片段發生什麼事?爲什麼沒有錯誤?
您正在收到什麼錯誤? –
他說他的第一個代碼片段導致錯誤。那我問 –
@阿尼爾,對不起,我沒有注意到。我會刪除我以前的評論。 – FreeNickname