我写了一个类似这样的代码:
UIView *view = [[UIView alloc] init];
UIWindow *window = [[UIWindow alloc] init];
NSString *str = [[NSString alloc] init];
NSNumber *num = [[NSNumber alloc] initWithLong:1];
//一开始view是UIview*类型
view = window;
//view现在变成了UIWindow*类型
view = str;
//view现在变成了NSString *类型
view = num;
//view现在变成了long类型
str = num;
//str变成了long类型
感觉这种方式和c/c++/Java什么的不太一致,请问各位大佬们哪里有相关的描述?(有大佬亲自解答就更好了)
ps:我是在xcode上加断点看的类型,str变成long类型之后,str.length属性运行都会报错,所以str应该真的变成了long类型的变量。