zoukankan      html  css  js  c++  java
  • IOS学习笔记 ---- 15/09/06

    1.prepareForSegue进行的时候,目标控制器的所有view还没创建,此时对其中的对象进行操作是无效的,应该在viewDidLoa方法中实现所需要的赋值等操作。

    2.修改表内数据的时候,如果跳转下一个页面传递的时候直接进行赋值,传递的是指针,在另一个页面修改完毕后关闭页面,直接reloadTable就达到修改的效果了。

    3.TableViewCell如果是通过storyboard或者xib创建的则不会调用init开头的方法(initWithCoder是特例),只会调用awakeFromNib。

    4.awakeFromNib中获得到的frame是刚创建完成时候得到的frame,即默认frame,应该在layoutSubviews方法里面进行设置子控件frame。

    5.plist文件存储分五步:

    1. 通过调用C语言函数NSHomeDirectory()获得当前工作目录(沙盒目录)。
    2. 通过字符串的stringByAppendingPathComponent方法拼接出需要文件夹的路径。
    3. 再次通过第二步中的方法拼接出具体的存储plist文件的路径。
    4. 创建NSArray,NSNumber,NSDictionary,NSData,NSString类型的对象。
    5. 调用创建出对象的方法writeToFile方法。

    6.如果是读取文件则没有第5步,第四步替换成arrayWithContentOfFile。

    7.可以使用NSUserDefaults来进行存储,存储的方式类似于键值对,存入值都是以set开头的方法,读取都是以数据类型开头的方法。创建对象的时候使用类方法standardUserDefaults。

    8.上种两种plist存储方法的弊端是不能存储自定义类。

    9.读档与归档

    1. 首先在目标类中实现encodeWithCoder(归档)或者initWithCoder(读档)方法;
    2. 然后声明一个NSKeyedArchiver(归档)或者NSKeyedUnarchiver(读档)类。
    3. 使用archiveRootObject:toFile:(归档)或者unarchiveObjectWithFile:(读档)方法进行数据归档或读档。

    10.如果是子类进行读档归档,一定要重写父类的两个相关方法并且在重写时调用父类的方法。


    作死升级win10,用不惯回滚win7发现无限恢复中....无奈重装,又浪费了时间。

  • 相关阅读:
    EffectiveC#17--装箱和拆箱的最小化
    EffectiveC#16--垃圾最小化
    EffectiveC#15--使用using和try/finally来做资源清理
    NET基础课--对象的筛选和排序(NET之美)
    Objective-C浅拷贝和深拷贝
    IOS viewdidload 方法在 init 方法之前调用
    [iOS]为什么不要在init初始化方法里调用self.view
    为什么init方法里有self.view就会先跑viewdidload方法
    IOS开发中重写init方法使用需谨慎
    The file “XXX.app” couldn’t be opened because you don’t have permission to view it.
  • 原文地址:https://www.cnblogs.com/zthek/p/4785335.html
Copyright © 2011-2022 走看看