19 2011-7
原来简单解释过属性定义(Property) ,并且提起了简单的retain,copy,assign的区别。那究竟是有什么区别呢?
assign就不用说了,因为基本上是为简单数据类型准备的,而不是NS对象们。
Retain vs. Copy!!
copy: 建立一个索引计数为1的对象,然后释放旧对象
retain:释放旧的对象,将旧对象的值赋予输入对象,再提高输入对象的索引计数为1
那上面的是什么该死的意思呢?
Copy其实是建立了一个相同的对象,而retain不是:
比如一个NSString对象,地址为0×1111,内容为@”STR”
...
19 2011-7
利用协议实现回调
实现的代码如下:
定义协议:
#import
@protocol NoteDelegate
//回调函数
-(void)messageCallBack:(NSString *)string;
@end
调用协议:
#import
#import "NoteDelegate.h"
@interface ManagerMessage : NSObject {
...
19 2011-7
想在应用里保存帐号、密码等信息的话,直接存到 plist 里显然是不负责任的,自己折腾加密既麻烦又不能保证不被反编译破解。实际上苹果 iOS 和 Mac OS X 系统自带了一套敏感信息保存方案:"钥匙串" (Keychain)。
用原生的 Security.framework 就可以实现钥匙串的访问、读写。但是只能在真机上进行,模拟器会出错。在 Github 上有个封装的非常好的类来实现这个功能,让你既能在模拟器又能在真机上访问钥匙串。类的地址: http://github.com/ldandersen/scifihifi-iphone/tree/master/security
...
19 2011-7
====.h文件======
#import
@interface MyDataTestViewController : UIViewController {
NSDictionary *dicData;
IBOutlet
UILabel *lblName;
}
@property (nonatomic, retain) NSDictionary *dicData;
- (void) ReadData;
- (BOOL)SaveData;
...