我是开发者 - 小钿博客

一个小开发仔 ~

iOS开发备忘笔记 (3)

一、iOS应用的 UIWindow

各种方式获取的 window:

[UIApplication sharedApplication].delegate.window; //应用的主线窗体, 大部分情况下都是 keyWindow (用 makeKeyAndVisible 设置), 一般提示弹窗什么的都基于它
[UIApplication sharedApplication].keyWindow; //应用当前的活跃窗口, 一般是 delegate.window , 键盘出来后就是键盘所在的窗体
[UIApplication sharedApplication].windows.lastObject; //最后一个window, 一般是最上层的窗体, 可能是主程序视图, 也可能是键盘或者其他小浮窗什么的

自己新建 window:

  1. window 对象释放 窗口即释放, 所以对象要全局保存
  2. window 设置BackgroundColorclearColor, 或者opaque = NO还是点不到下面的window, 除非设置alpha = 0

iOS开发备忘笔记 (2)

  1. 不能改优先级为UILayoutPriorityRequired (1000)的约束

  2. heightForRowAtIndexPath没有被正确测量cell的高度时,cellForRowAtIndexPath可能会被不必要的调用,即不可见的cell也会被调用。如果正好数据量很大,会导致性呢个严重下降。

  3. present出一个背景可透明的viewController

     if (IOS_VERSION >= 8.0) {
         vc.modalPresentationStyle = UIModalPresentationOverCurrentContext;
     }else{
         self.modalPresentationStyle = UIModalPresentationOverFullScreen;
     }
     vc.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
     [self presentViewController:vc animated:YES completion:nil];
    

iOS开发备忘笔记 (1)

  1. NSString常量定义:

    正确:

     NSString * const name = @"value";
    

    错误:

     const NSString * name = @"value"; 
     NSString const * name = @"value";
    

    总结: const* 前 代表 *name 不可变, 在 * 后代表 name不可变. 我们一般都 是想让 name 的值不变, 所以应该把 const 放在 * 后;

    *前面是指针指向的修饰符, *后面是指针本身的修饰符

  2. 格式化日期输出星期的不同表示:

     NSDateFormatter * dateFormatter = [[NSDateFormatter alloc] init];
     dateFormatter.dateFormat = @"E EE EEE EEEE EEEEE EEEEEE EEEEEEE";
     NSString * dateStr = [dateFormatter stringFromDate:[NSDate date]];
     NSLog(@"%@", dateStr);
     //输出:    周六 周六 周六 星期六 六 周六 周六
    

常用正则表达式

6666666666666666666666666666666

1.验证用户名和密码:("^[a-zA-Z]\w{5,15}$")
正确格式:"[A-Z][a-z]_[0-9]"组成,并且第一个字必须为字母6~16位;

2.验证电话号码:("^(\d{3,4}-)\d{7,8}$")
正确格式:xxx/xxxx-xxxxxxx/xxxxxxxx

3.验证手机号码:"^1[3|4|5|8][0-9]\d{8}$"

4.验证身份证号(15位或18位数字):"\\d{17}[[0-9],0-9xX]"

5.验证Email地址:("^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$")

6.只能输入由数字和26个英文字母组成的字符串:("^[A-Za-z0-9]+$")

Oracle 数据导入导出

该命令在“开始菜单>>运行>>CMD”中执行

一、数据导出(exp.exe)

1、将数据库orcl完全导出,用户名system,密码accp,导出到d:\daochu.dmp文件中

exp system/accp@orcl file=d:\daochu.dmp full=y

2、将数据库orcl中scott用户的对象导出

exp scott/accp@orcl file=d:\daochu.dmp

隐藏