随笔分类 - Object-C
摘要:Runloop 是事件接收和分发机制的一个实现。是线程相关的基础框架的一部分。一个Runloop就是一个事件处理的循环,用来不停的调度工作及处理输入事件。使用runloop的目的就是让你的线程 的主要目的: 保证程序执行的线程不会被系统终止,如果没有RunLoop,UIApplicationMain
阅读全文
摘要:认识 KVC (Key Value Coding), 它是一种用间接方式访问类的属性的机制。在 中为一个类实现 的话,需要让它继承自 : 这样,我们就可以使用 的方式访问 类的属性了: KVC 有什么用? 可以不用过多的依赖编译时的限制,为我们提供了更多的运行时的能力,免去我们调用 和`setter
阅读全文
摘要:为什么要用通知?传递一个变化的数值。例子//接受消息-(void)xmppStream:(XMPPStream *)sender didReceiveMessage:(XMPPMessage *)message{ NSLog(@"%@说:%@",message.from,message...
阅读全文
摘要:为什么需要单例模式?为了保持一个类只有一个实例(对象)如何实现代理模式?第一步:全局变量第二步:重写allocwithzone方法第三步:shared*** 方法例子:static XMPPServer *server = nil;@implementation XMPPServer//单例+(X...
阅读全文
摘要:http://blog.csdn.net/xunyn/article/details/8302787http://www.cnblogs.com/sonicit/p/3598830.html协议本身不实现任何方法,只是声明方法,使用协议的类必须实现协议方法。
阅读全文
摘要:一般的软件 都有一个 登陆的功能,然后根据登陆的UserID 查看不同的信息,这也就意味着UserID 是一个 全局变量,之后的类我们都需要用到,所以 这也就需要定义 全局变量来解决问题,这里提供2种方法:第一种把全局变量设置到AppDelegate中使用很简单,在AppDelegate.h文件中 ...
阅读全文
摘要:- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"Ce...
阅读全文
摘要:例如,一个北京时间"2014-4-4 22:00"(字符串),需要转换成 NSDate。字符串转换成 NSDate 一般是通过 NSDateFormatter 进行的。而在 iOS 上 NSDate 以 GMT 时间存储,因此NSDateFormatter会自动将字符串当前时区的本地时间处理,即将被...
阅读全文
摘要:- (BOOL)checkUsername{ NSString * regex = @"^[A-Za-z0-9]{1,15}$"; //正则表达式 NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES...
阅读全文
摘要:正则表达式用于字符串处理和验证等场合;匹配中文字符的正则表达式: [\u4e00-\u9fa5]评注:匹配中文还真是个头疼的事,有了这个表达式就好办了匹配双字节字符(包括汉字在内):[^\x00-\xff]评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)匹配空白行的正则表...
阅读全文
摘要:@property是让编译器自动产生函数申明 不再写下面2行代码 -(void) setAge:(int)newAge; -(void) age; 只需要下列一行就可以代替 @property int age;@synthesize 意思是合成 @synthesize就是编译器自动实现g...
阅读全文
摘要:setter函数展开规范 dog.age=200; [dog setAge:200]; getter函数展开规范 int dogAge=dog.age; int dogAge=[dog age]; 项目当中如果想用点语法,必须在项目中的.h文件和.m文件中声明和实现setAge和ag...
阅读全文
摘要:Objective-c主要分为四种基本数据类型:整型:short int (内存中占16位); 2个字节(Mac中)2个字节(ios) int(内存中占32位); 4 个字节(Mac中)4个字节(ios) long int(内存中占64位); 8个字节(Mac中) 4个...
阅读全文
摘要:viewDidUnload只有在收到内存警告后,controller连着的主View被释放了才会调用。而dealloc则是Controller释放的时候调用的,当然这个时候连着它的View也会被释放,但是这个时候是不会调用viewDidUnload的。init和viewDidLoad,当你创建一个C...
阅读全文
摘要:NSUserDefaults适合存储轻量级的本地数据,比如要保存一个登陆界面的数据,用户名、密码之类的使用NSUserDefaults是首选。下次再登陆的时候就可以直接从NSUserDefaults里面读取上次登陆的信息。因为如果使用自己建立的plist文件什么的,还得自己显示创建文件,读取文件,很...
阅读全文
摘要:Scrollview有几个主要的属性:contentSize:Scrollview中内容视图的大小,返回CGSize结构体类型,包含width和height2个成员;contentInset:用于在Scrollview中的内容视图周围添加边框,往往是为了留出空白以放置工具栏 标签栏 或导航栏cont...
阅读全文
摘要:#import @interface ViewController : UITableViewController@property (weak, nonatomic) IBOutlet UILabel *Label1;- (IBAction)onClick:(id)sender;@end为了将事件...
阅读全文
摘要:在我们创建一个新的.h 和 .m文件时,我们会看到.h:@implementation TestViewController- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loadin...
阅读全文
摘要:NSMutableString的使用NSString类是不可变的类,一旦别创建,字符串序列是不可变的,知道这个对象被销毁,所以出现了NSMutableString,NSMutableString是NSString的子类;NSMutableString对象则代表一个字符串序列可变的字符串1.字符串尾部...
阅读全文
摘要:看到很多源代码里面,使用前面带下划线变量,然后在@synthesize 语句中 在用一个不带下划线的变量名。这样做,到底有什么作用?百度之后发现,使用下划线的变量just 一个实例变量,比如@synthesize name = _name我们同样可以用 foo 代替 _name,只是一种的代码的规范...
阅读全文

浙公网安备 33010602011771号