zoukankan      html  css  js  c++  java
  • xcode framework

               xcode有个framework工程模板,用来提取公共代码和资源,成为独立的工程文件。基本的用处很简单,但是用法配置却折腾了我几天。

           新建一个framework工程F,建基本的窗口和按钮、按钮响应的文件,也可以尝试加载一下图片;配置Build Phases中的Copy Headers和Copy Bundle Resources两项,前者将Project中的头文件全部移交到Public中,后者将图片和nib文件全部添加进去。编译输出,就会生成需要的framework包供测试工程调用了。

           新建一个测试工程T,基本的窗口和按钮、按钮响应的文件,在.m文件中添加framework工程中需要用到的头文件,使用其中的方法创建其中的窗口、调用其中的资源。

           当framework中包含png和nib文件时,基本的响应流程:

    ①T工程中的按钮事件调用F工程中的打开窗口函数,例如:

            -(IBAction)btnCallF:(id)sender
            {
                OpenWindow(win_index,isblock,args);
            }
    

           OpenWindow是framework中实现打开窗口的一个c函数,不属于任何接口。m文件内部再定义一个全局变量表示窗口控制视图指针NSWindowController *sp来记录当前win_index对应内部的哪个窗口,isblock表示是否是阻塞方式调用BOOL,args表示传入传出参数数组 NSmutabelArray *args。当然,framework内部会先初始化,在所有窗口的init函数中实现初始化窗口对应关系。最底下给出的例子中没有这样做,用一个window(single window/windowcontroller)+view(view/viewcontroller list)列表的形式,在window的初始化函数中初始化对应关系。

           有关模态调用窗口和自适应view尺寸的详细代码见例子中的displayViewController和runModalWindow。

    ②调试

          当framework中的内容很多,修改频繁时,就需要调试了。在F工程的edit scheme中设置Run XXX列表项的Info标签下的Executable下拉框中对应的app为测试工程生成的APP。就可以不用打log调试framework了

          代码整理一下,这周之内发吧。


  • 相关阅读:
    java的类继承(与c++对比)
    java的数据类型、自动拆装箱、字面量
    java中关键字static和final
    JVM之JIT
    java之JIT(Just in time)
    栈和堆
    C++中vector的使用
    canvas
    ajax笔记
    CSS笔记
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/2995097.html
Copyright © 2011-2022 走看看