.h文件创建 ios - CSDN
  • ios 中的 .h 和.m文件

    2019-04-29 00:29:13
    没接触过ios的原生开发,对这个有点不解。 下面来了解下: 新建一个类 这个类继承 NSObject的类,就会创建出这样两个文件 image.png image.png image.png ...在.h文件中 有一个impo...

    没接触过ios的原生开发,对这个有点不解。
    下面来了解下:
    新建一个类 这个类继承 NSObject的类,就会创建出这样两个文件


    img_a52f8bfb6b727c1b2d21fc327b177bff.png
    image.png

    img_8fa4a53bc631e50d3f51cc490b647454.png
    image.png
    img_faa30a455646fa54d3e09c8d83bb57af.png
    image.png
    img_67945d09679cf383cc46e4dda805df94.png
    image.png
    在.h文件中
    
              有一个import,这是用来导入工具包,就是foundation框架
    
              @这个标志表示你使用的是object-c语言
    
             @interface 是声明类的关键字 
    
             tongdun是类名
    
             : 冒号表示继承,oc中是单继承模式
    
             NSObject是父类
    
             在@interface和@end之间是用来声明属性和方法的
    
    
    在.m文件中声明的属性是无法被外界看到的,所以也成为私有属性,而在.h中的属性就是public属性
    
     
    
    在.m文件中
    
      #import ”tongdun.h“ 用来导入.h中声明的属性和变量
    
      @implementation tongdun   implementation是实现类的关键字
    

    学会建类之后,接下来就可以 学习下 如何写ios和RN的交互类。

    展开全文
  • ios 生成.a文件

    2018-10-12 17:27:04
    现在再有一个功能,不知道是...1.首先创建一个新的工程,选择ios --》Framework&Library --》 Cocoa Touch Static Library 工程名例如 DemoA 2 之后我们会看到自动生成.h和.m文件 可以在.m文件中写你要的...

    现在再有一个功能,不知道是集成方是想用.a 还是framework 就将两种都给实现了 ,这篇介绍.a文件的生产, framework生产

    生产.a库

    1.首先创建一个新的工程,选择ios --》Framework&Library --》 Cocoa Touch Static Library 工程名例如 DemoA
    选择如图
    项目命名

    2 之后我们会看到自动生成.h和.m文件 可以在.m文件中写你要的代码 或者新建.h和.m文件,将自动生成的删除了
    在这里插入图片描述
    3 咱们就再自动生成的文件中进行操作了
    .h 文件在这里插入图片描述
    .m 文件
    在这里插入图片描述
    4.选择需要公开的头文件

    在这里插入图片描述
    5 静态库需要支持的版本
    在这里插入图片描述
    6 修改配置 Active Architecture Only修改为NO,否则生成的静态库就只支持当前选择设备的架构。
    在这里插入图片描述
    7 接下来就是编译生成.a文件了
    1)真机编译的.a 文件 选中真机编译,对应生产一个真机的.a 文件
    在这里插入图片描述
    选择Generic iOS Device,command+b完成后,在工程的Products文件夹下的.a文件从红色编程了黑色。编译成功,然后Show in Finder。
    在这里插入图片描述
    下图是真机.a
    在这里插入图片描述

    2)模拟器编译的.a 文件 选中模拟器编译,对应生产一个模拟器的.a 文件
    在这里插入图片描述
    command+b完成后,在工程的Products文件夹下的.a文件从红色编程了黑色。编译成功,然后Show in Finder。对应的模拟器的.a文件
    在这里插入图片描述
    在这里插入图片描述
    8 用命令lipo -info 静态库名字来查看,是支持真机还是模拟器
    模拟器查看
    如图 Debug-iphonesimulator里面支持i386、x86_64,属于模拟器,用到真机会报错

    在这里插入图片描述
    Debug-iphoneos里面支持armv7、arm64,属于真机,用到模拟器就会报错
    9 合并静态库-让模拟器和真机使用一个静态库
    命令如下:
    lipo -create 第一个.a文件的绝对路径 第二个.a文件的绝对路径 -output 最终的.a文件路径
    在这里插入图片描述
    这个生成的.a文件,就是支持真机和模拟器的静态库了。创建一个文件夹,把.a和头文件拖进去,这个文件夹就是我们所需要的。一般上线的时候只导入真机的,这样工程的体积也会小一些。

    在这里插入图片描述

    如何使用静态库呢
    新建一个工程,把我们的静态库拖进去,导入头文件。
    在这里插入图片描述
    在这里插入图片描述
    运行效果
    在这里插入图片描述
    注意 如果静态库中有Category类,就要在使用静态库项目的配置中添加-ObjC或者-all_load

    如果有错误的地方欢迎指出,一起学习,一起进步。

    展开全文
  • iOS中的.a文件

    2017-06-01 16:54:08
    静态库可以将 .m文件封装成一个.a文件,第三方应用程序只需要拿到这个.a文件和代码对应的.h文件即可使用静态库中封装的方法。IOS静态库适合去制作第三方提供的SDK。 .a文件与 iOS静态库 首先看静态库和动态...



    Objective-c语言有.h .m文件组成。静态库可以将 .m文件封装成一个.a文件,第三方应用程序只需要拿到这个.a文件和代码对应的.h文件即可使用静态库中封装的方法。IOS静态库适合去制作第三方提供的SDK


    .a文件与 iOS静态库


    首先看静态库和动态库的区别:


    在实际的编程过程中,通常会把一些公用函数打包成函数库,供其它程序调用,不但提高了代码的复用;而且还保护了核心技术。所以在实际的项目开发中,经常会使用到函数库,函数库又分为静态库和动态库两种。

    和多数人所熟悉的动态语言和静态语言一样,这里的所谓静态和动态是相对编译期和运行期的:静态库在程序编译时会被链接到目标代码中,程序运行时将不再需要改静态库;而动态库在程序编译时并不会被链接到目标代码中,只是在程序运行时才被载入,因为在程序运行期间还需要动态库的存在。

    iPhone平台来说,iPhone官方只支持静态库联编。


    iOS静态库的使用


    1、创建静态库

    打开XCode新建一个项目,选择Library下的“Cocoa Touch Static Library”,在Classes文件夹上点右键选择“New File…”,然后在“Cocoa Touch Class”下选择“Objective-C class”,这样就可以创建Objective-C风格的源文件和头文件。

    同样,也可以创建C或者C++风格的代码,在Classes文件夹上点右键,选择“New File…”,这次选择Mac OS X下的“C and C++”,就行。

    然后在文件里编写具体的调用代码。

    最后进行编译,就会产生一个以.a为结尾的文件,就是我们需要的静态库。同时我们也需要生成的.h头文件。


    2、使用静态库

    在需要调用静态库的工程的目录下通过右键点Frameworks->Add->Existing Files..添加之前创建的.a静态库文件,然后在需要调用静态库的函数的.h文件里,import进来和静态库中.m对应的.h头文件,并且声明静态库里的类:@class类名,这样就可以使用静态库里的函数了。


    3、联调静态库

    如果单单以copy的方式包含进.a静态库,这样只能使用静态库,如果需要修改静态库里的函数,则需重新生成静态库,并将其重新包含进来,在开发阶段会显得比较麻烦。可以采用XcodeCross-Project Reference(跨项目参考)的方式解决。

    首先把静态库的XCode项目整个包含进我们的当前项目(注意:不要选择Copy items to destination group's folder选项)。

    接着和第二步一样也是包含进.a静态库(也要注意:不要选择Copy items to destination group's folder选项)。

    这样就可以从我们当前的项目里直接打开静态库的项目,直接修改(注意:修改后编译前必须选择clean,清除原有的静态库,重新生成)。现在发现一个简单的调用静态库的方法

    framework右键点击add-->ExistingFramework-->add other浏览静态库(.a)文件添加进来,就可以使用。

    展开全文
  • 1.找到该库所在目录,创建一个.h文件,用来声明这个类和公共方法,然后在该库的其他地方就可以使用。 2.在自己的代码目录下,相应的创建一个.m文件并实现相应的方法和功能。 3.编译运行,成功! 不过有个问题...

    使用cocoapods导入第三方方便快捷,但是如果我们想引入一个自定义的视图或者类怎么办?

    可行的方法是:

    1.找到该库所在目录,创建一个.h文件,用来声明这个类和公共方法,然后在该库的其他地方就可以使用。

    2.在自己的代码目录下,相应的创建一个.m文件并实现相应的方法和功能。

    3.编译运行,成功!

     

    不过有个问题就是: cocoapods更新该库的时候(pod update)会覆盖掉原来更改的代码,需要注意。

    展开全文
  • IOS的.m和.mm文件总结

    2019-01-11 11:47:40
    1. .m文件是纯Object-C 文件 .mm是Object-C和C++混合文件   2. .m只能调用纯Object-C的类,不能调用混合的 .mm可以调用Object-C的,也可以调用C++的   3. .m要调用混合的怎么办? 可以 解决办法是.h用...
  • 然后在build Settings ——>Prefix Header 添加此文件的路径$(SRCROOT)/EasyToLearn/Common/PrefixHeader.pch这样在每一个文件中都可以进行使用。
  • 1. 为什么.h文件和.m文件里各有1个`@interface`?它们分别有什么用? 2. .h中,value1为什么要定义2遍? 3. `@synthesize`有什么用? 。。。
  • Xcode7里创建hpp头文件重新改为.h文件的方法
  • 静态库可以将 .m文件封装成一个.a文件,第三方应用程序只需要拿到这个.a文件和代码对应的.h文件即可使用静态库中封装的方法。静态库适合制作SDK提供的第三方使用。 步骤如下:创建应用项目1.创建一个应用项目,也...
  • h 和 .m 文件中自动创建两个几乎完全一样的@interface。  比如: 创建一个UIViewController 的实例: 在 .h 文件中: #import @interface MainController : UIViewController @end 在 .m 文件中: #import ...
  • 一、打包静态库 ...将文件夹librfc3951下生成的librfc3951.h、 librfc3951.m文件删除,加入 rfc3951 C++ 代码文件  修改 Product->Scheme-> Edit Scheme下 为 Release  真机编译一次,
  • Xcode中自定义每个.h和.m中上部默认显示的信息(公司,版本,作者,版权声明等)每个iOS开发者新建class文件的时候都可以看到文件最上面声明的一些基本信息。而这些信息都是默认的,我们现在就要来自定义这些信息。...
  • 相信大家都遇到了这种情况,更新xcode7后,创建C++类生成的头文件后缀变成了.hpp,并非以前的.h文件。 其实这两个文件都是可以被正常编译的,只是从命名上可以看出有一定的不同之处,.h一般都只是声明而已,而.hpp...
  • 在我们研究一些程序的代码时,总是能在某个.h文件中发现有许多@interface分别定义了不同的类。比如AFNetworking的AFURLRequestSerialization.h中我们可以看到: @interface AFHTTPRequestSerializer : NSObject <...
  • 我们可以把一些不愿意让别人见到的代码,用静态库的方式把它隐藏起来,只留下.h文件显示方法供编程人员使用。而.a文件出了静态库本身外,还需要引入.h文件,而.framework就不需要如此,由于.framework的方便性所以...
  • pch文件是一个预编译文件,在项目文件比较多的情况下,重复导入(#import “XXX.h”)同一个文件是不可避免的,虽然可以重复导入,但为了项目的简单明了,pch文件还是必要的。比如我在网络请求的时候会用到AFN,这时...
  • iOS库 .a与.framework区别

    2017-10-31 18:03:45
    静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝。 动态库:链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用,节省内存。 三、iOS里静态库形式? ...
  • Mach-O文件 官方介绍总共有11种格式! 是 Mach Object的缩写,是Mac\iOS 上用于存储程序,库的标准格式! 常见的格式: 1.可执行文件 2.objcet .o 文件(目标文件) .a 静态库文件.其实就是N个.o文件的集合 3.DYLIB: ...
  • 最近几天,更新了xcode7,由于工程是swift和OC混编,所以工程会自动生成一个project-swift.h文件。前段时间一直用xcode6.4,一直没问题,更新到7之后,问题来了:生成的文件出错。 出错行报错如下: /Users/lindow/...
1 2 3 4 5 ... 20
收藏数 66,269
精华内容 26,507
热门标签
关键字:

.h文件创建 ios