我有一个我认为可能很弱的属性。但除非设置为强,否则它不会显示。
这:
- (void) setTimeAndLocation:(Message *)activity{
__weak NSString *time = [[[activity getPropertyByPath:@"StartTime"] value] substringWithRange:NSMakeRange(0, 5)];
NSLog(@"Time: %@", time); // null
__strong NSString *time = [[[activity getPropertyByPath:@"StartTime"] value] substringWithRange:NSMakeRange(0, 5)];
NSLog(@"Time: %@", time); // works, 20:30
__weak NSString *time = [[activity getPropertyByPath:@"StartTime"] value];
NSLog(@"Time: %@", time); // works, 20:30:00
}
这是因为 substring 创建了一个新字符串或类似的东西吗?我知道我不必添加 __weak 或 __strong 但这对我了解所有内容的作用非常有帮助