一个101问题
假设我正在制作汽车数据库,每个汽车对象定义为:
#import <UIKit/UIKit.h>
@interface Car:NSObject{
NSString *name;
}
@property(nonatomic, retain) NSString *name;
Run Code Online (Sandbox Code Playgroud)
为什么@property(nonatomic, retain) NSString *name;不@property(nonatomic, assign) NSString *name;呢?
据我所知,assign这不会增加引用计数器retain.但是为什么要使用retain,因为它是对象的name成员todo,它的范围就是它自己.
没有其他外部功能也会修改它.
好的,计算机具有用于应用程序的端口,用于将数据从外界传输到防火墙,然后再传输到计算机。
那么,Firefox和Internet Explorer如何在同一台计算机上使用同一端口?
为什么我们不能使用端口80将所有位置的所有流量传递到计算机。
那么为什么我们需要特定的端口?
这是一个功能吗?
它是从源头调用的函数吗?
或者,它是从目的地返回的功能吗?
或者,它只是在目的地执行一个功能?
或者,它是从传递给目标的函数返回的值吗?
我真的需要一些澄清 - 我有几个问题,我现在都搞砸了.
这是一个简单的类接口:
#import <UIKit/UIKit.h>
@interface Car : NSObject{
NSInteger carID;
NSString *carName;
}
@property (nonatomic, assign) NSInteger carID;
@property (nonatomic, copy) NSString * carName;
@end
Run Code Online (Sandbox Code Playgroud)
carID不被声明为指针?carID而不是"copy"?我有四个同一类的变种.
指针,非指针,分配与复制的混合.
使用每个案例有什么含义?
1)
@interface fruit:NSObject{
NSString apple;
}
@property(nonatomic, retain);
@end
2)
@interface fruit:NSObject{
NSString apple;
}
@property(nonatomic, assign);
@end
3)
@interface fruit:NSObject{
NSString *apple;
}
@property(nonatomic, retain);
@end
4)
@interface fruit:NSObject{
NSString *apple;
}
@property(nonatomic, assign);
@end
objective-c ×3
callback ×1
definition ×1
firewall ×1
ios ×1
iphone ×1
nsstring ×1
pointers ×1
properties ×1
retain ×1