我知道这可能是不好的做法,但我只是好奇这在 Objective-C 中是否有任何负面影响(尝试尽可能多地学习):
@interface MyClass ()
// Declare a string called 'foo'
@property (nonatomic, strong) NSString *foo
@end
@implementation MyClass
...
- (void)modifyFoo {
// Create a local variable with the same name as a property
NSString *foo = @"Hello!" // No compiler warnings?
self.foo = foo; // <---- Is this OK?
}
这不会在编译器中引发警告,果然,我的代码正常工作。如果负面影响为零,那么属性类型(例如弱/强/分配等)是否会影响这是否可行?
注意:我知道在综合属性时这将不起作用。