zoukankan      html  css  js  c++  java
  • ios 开发小记 (三)

    iOS开发常见问题:

    1、单元测试时,cocoaPods报错

    platform :ios, '7.0'

    pod "AFNetworking", "~> 2.0"

    pods 文件原来是这样。

    在用了xctest之后,就报错了:AFNetworking Cause Error while using XCTest in Xcode5。

    要在中间加一句:

    link_with 'Supermark', 'SupermarkTests'

    2、xcode 的使用

     -objc 的意思:

    之所以使用该标志,和Objective-C的一个重要特性:类别(category)有关。根据这里的解释,Unix的标准静态库实现和Objective-C的动态特性之间有一些冲突:Objective-C没有为每个函数(或者方法)定义链接符号,它只为每个类创建链接符号。这样当在一个静态库中使用类别来扩展已有类的时候,链接器不知道如何把类原有的方法和类别中的方法整合起来,就会导致你调用类别中的方法时,出现"selector not recognized",也就是找不到方法定义的错误。为了解决这个问题,引入了-ObjC标志,它的作用就是将静态库中所有的和对象相关的文件都加载进来。
     
     
     
    ios 全局包含的头文件
    .pch
     
     
    arc 和 非 arc 混用的时候:
    如果是arc中使用非arc的,对不需要arc的文件添加: -fno-objc-arc。编译标示。
     
     
     
    xcode的group如何与文件夹对应:(双击show in finder能直接显示该文件夹)
    直接删除这个group,记得选reference,不要move to trash。
    然后整个文件夹添加进来即可。
    注意:这样文件夹里面的所有文件的编译选项需要重新设置,后期慎用这个功能。
     
     
     3、UIKit - UILabel
    warning:
    Automatic Preferred Max Layout Width is not available on iOS versions prior to 8.0
     
    UILabel 的 使用了 Preferred Max Layout Width 這個屬性造成 numberOfLines 屬性只要不是  1 就會造成這個警告
     解决方案:
    1升级到ios8以上 
    2把label的这个选项值修改为非默认值
     
     
    4、UIViewController 生命周期
    UIViewController的view是lazy loading的,当你访问其view属性的时候,它会从xib文件载入或者通过代码创建(覆盖loadView方法,自定义其view hierarchy),并返回view对象,如果要判断一个View Controller的view是否已经被加载需要通过其提供的isViewLoaded方法来判断。 
    view加载后viewDidLoad会被调用,这里可以进行一些数据的请求或加载,用来更新你的界面。 
     
    view将被加入view hierarchy中的时候viewWillAppear会被调用,view完成加入的时候viewDidAppear会被调用,同样当view将要从view hierarchy中移除的时候viewWillDisappear会被调用,完成移除的时候viewDidDisappear会被调用。 
    当内存紧张的时候,所有的UIViewController对象的didReceiveMemoryWarning会被调用,其默认实现是 如果当前viewController的view的superview是nil的话,则将view释放且viewDidUnload会被调用,viewDidUnload中你可以进行后继的内存清理工作(主要是界面元素的释放,当再次加载的时候需要重建)。
     
     
     
    controller之间的关系:
    其实显示或者旋转的回调的触发的源头来自于window,一个app首先有一个主window,初始化的时候需要给这个主window指定一个rootViewController,window会将显示相关的回调(viewWillAppear:, viewWillDisappear:, viewDidAppear:, or viewDidDisappear: )以及旋转相关的回调(willRotateToInterfaceOrientation:duration: ,willAnimateRotationToInterfaceOrientation:duration:, didRotateFromInterfaceOrientation:)传递给rootViewController。rootViewController需要再将这些callbacks的调用传递给它的Child View Controllers。
     
     
     
    以上内容有部分来自互联网,侵权请联系我(留言、评论均可),马上删除。
     
     
     
  • 相关阅读:
    easyExcel入门
    UML-从需求到设计--迭代进化
    UML-操作契约总结
    102. Binary Tree Level Order Traversal
    98. Validate Binary Search Tree
    95. Unique Binary Search Trees II
    96. Unique Binary Search Trees
    94. Binary Tree Inorder Traversal
    84. Largest Rectangle in Histogram
    92. Reverse Linked List II
  • 原文地址:https://www.cnblogs.com/loying/p/4824532.html
Copyright © 2011-2022 走看看