随笔分类 -  Object-C

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