`
文章列表
oc 中凡是 通过 create、copy、retain 的对象都需要release

modal

    博客分类:
  • ios
除了push之外,还有另外一种控制器的切换方式,那就是Modal 任何控制器都能通过Modal的形式展示出来 Modal的默认效果:新控制器从屏幕的最底部往上钻,直到盖住之前的控制器为止 以Modal的形式展示控制器 - (void)presentViewController:(UIViewController *)viewControllerToPresent animated: (BOOL)flag completion:(void (^)(void))completion 关闭当初Modal出来的控制器 - (void)dismissViewControllerAnimated: ...
1.UISwitch * UISwitch继承自UIControl,因此也能像UIButton一样监听一些事件,比如状态改变事件 * UISwitch可以通过拖线监听状态改变 * UISwitch可以通过addTarget:...方法监听状态改变 - (void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents; // 其中controlEvents参数传递的是:UIControlEventValueChanged(值改变事件) 2.监听文本框的文字改变 * 一个文本输 ...

应用沙盒结构分析

    博客分类:
  • ios
应用程序包:(上图中的Layer)包含了所有的资源文件和可执行文件 Documents:保存应用运行时生成的需要持久化的数据,iTunes同步设备时会备份该目录。例如,游戏应用可将游戏存档保存在该目录 tmp:保存应用运行时所需的临时数据,使用完毕后再将相应的文件从该目录删除。应用没有运行时,系统也可能会清除该目录下的文件。iTunes同步设备时不会备份该目录 Library/Caches:保存应用运行时生成的需要持久化的数据,iTunes同步设备时不会备份该目录。一般存储体积大、不需要备份的非重要数据 Library/Preference:保存应用的所有偏好设置,iOS的Settings ...

property的属性设置

    博客分类:
  • ios
copy : NSString\NSMutableString\block weak : 代理\UI控件 strong : 其他OC对象 assign : 基本数据类型(int\float)\枚举\结构体
/** *  app加载完毕的时候调用(一般只调用一次) * */ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {     NSLog(@"didFinishLaunchingWithOptions");     return YES; } /** *  app失去焦点的时候调用( ...
iPhone会为每一个应用程序生成一个私有目录,这个目录位于: /Users/sundfsun2009/Library/Application Support/iPhone Simulator/User/Applications下, 并随即生成一个数字字母串作为目录名,在每一次应用程序启动时,这个字母数字串都是不同于上一次。 所以通常使用Documents目录进行数据持久化的保存,而这个Documents目录可以通过: NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserdomainMask,YES) 得到。 代码如下: ...
1. 开始只有oracle 和access 连接2. 打开Oracle SQL Developer:工具——>首选项——>数据库——>第三方JDBC驱动程序——>添加驱动条目3. 自动加载到目录
// contactVc.title 等价于 contactVc.navigationItem.title //    contactVc.navigationItem.title = [NSString stringWithFormat:@"%@的联系人列表", self.accountField.text];
控制器常见的创建方式有以下几种 通过storyboard创建 1、 直接创建 MJViewController *mj = [[MJViewController alloc] init]; 2、 指定xib文件来创建 MJViewController *mj = [[MJViewController alloc] initWithNibName:@"MJViewController" bundle:nil]; 3、 先加载storyboard文件(Test是storyboard的文件名) UIStoryboard *storyboard = [UIStoryboard s ...
/************__OBJC__BEGIN************/ // 里面的所有内容只能用到.m文件中或者.mm #ifdef __OBJC__ #import <UIKit/UIKit.h> #import <Foundation/Foundation.h> #import "MJPerson.h" #ifdef DEBUG  // 调试阶段 #define MJLog(...) NSLog(__VA_ARGS__) #else // 发布阶段 #define MJLog(...) #endif #define ABC 10 ...
-Xverify:none -Xms512m -Xmx512m -Xmn128m -XX:PermSize=96m -XX:MaxPermSize=96m -XX:+DisableExplicitGC -Xnoclassgc -XX:+UseConcMarkSweepGC -XX:+UseParNewGC

通知和代理的区别

    博客分类:
  • ios
共同点 利用通知和代理都能完成对象之间的通信 (比如A对象告诉D对象发生了什么事情, A对象传递数据给D对象) 不同点 代理 : 一对一关系(1个对象只能告诉另1个对象发生了什么事情) 通知 : 多对多关系(1个对象能告诉N个对象发生了什么事情, 1个对象能得知N个对象发生了什么事情) 通知注意 :对象销毁时释放通知
1、新建一个xib文件描述一个view的内部结构(假设叫做MJTgCell.xib) 2、新建一个自定义的类 (自定义类需要继承自系统自带的view, 继承自哪个类,  取决于xib根对象的Class) 3、新建类的类名最好跟xib的文件名保持一致(比如类名就叫做MJTgCell) 4、将xib中的控件 和 自定义类的.m文件 进行连线 5、提供一个类方法返回一个创建好的自定义view(屏蔽从xib加载的过程) 6、提供一个模型属性让外界传递模型数据 7、重写模型属性的setter方法,在这里将模型数据展示到对应的子控件上面
1.新建一个继承自UITableViewCell的类 2.重写initWithStyle:reuseIdentifier:方法 添加所有需要显示的子控件(不需要设置子控件的数据和frame,  子控件要添加到contentView中) 进行子控件一次性的属性设置(有些属性只需要设置一次, 比如字体\固定的图片) 3.提供2个模型 数据模型: 存放文字数据\图片数据 frame模型: 存放数据模型\所有子控件的frame\cell的高度 4.cell拥有一个frame模型(不要直接拥有数据模型) 5.重写frame模型属性的setter方法: 在这个方法中设置子控件的显示数据和frame ...
Global site tag (gtag.js) - Google Analytics