[問題] 有關property裡的strong & weak
最近剛開始學Obj-C
爬了一下文&精華區好像都沒看到有討論?
但這問題困擾我好久...一直搞不清楚strong和weak的性質
期望有高手能解惑一下 (能有實例更好QQ)
目前看到解釋是,拿weak指標去指物件 (一個被其他strong指標指著的物件)
如果指住這物件的其他strong指標都移走的話,這個weak指標也會釋放掉那個物件
所以我嘗試做一個簡單例子如下: (但沒有效果,應該是我理解錯誤orz)
SWTest.h
@interface SWTest:NSObject
@property (strong) NSString *sStr1;
@property (weak) NSString *wStr2;
-(void) applicaionTest;
@end
SWTest.m
#import "SWTest.h"
@implemetation SWTest
@synthesize sStr1, wStr2;
-(void) applicationTest{
self.sStr1 = @"test!";
self.wStr2 = self.sStr1;
self.sStr1 = nil;
NSLog(@"%@", self.wStr2); // 預期會出現null,但結果還是出現 test!
}
@end
main.m
int main(int argc, const char * argv[]){
@autoreleasepool{
SWTest *swtest = [[SWTest alloc] init ];
[swtest applicationTest];
}
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.25.17.148
※ 編輯: BBSealion 來自: 114.25.17.148 (08/26 11:07)
推
08/26 16:00, , 1F
08/26 16:00, 1F
→
08/26 16:01, , 2F
08/26 16:01, 2F
→
08/26 16:22, , 3F
08/26 16:22, 3F
→
08/26 16:23, , 4F
08/26 16:23, 4F
→
08/26 16:24, , 5F
08/26 16:24, 5F
→
08/26 16:25, , 6F
08/26 16:25, 6F
→
08/26 16:27, , 7F
08/26 16:27, 7F
→
08/26 20:57, , 8F
08/26 20:57, 8F
→
08/26 20:57, , 9F
08/26 20:57, 9F
→
08/26 20:57, , 10F
08/26 20:57, 10F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):