Objective-C 中的 __OBJC__

2024-04-03

什么是__OBJC__在 Objective-C 中是什么意思?

#import <Availability.h>

#ifdef __OBJC__
    #import <Foundation/Foundation.h>
    #import <UIKit/UIKit.h>
#endif

这意味着正在使用目标 C 编译器。因此,您可以创建可在编译 Objective C 或 C 或 C++ 时使用的混合头文件。

如果您想发布一个定义目标 c 对象的头文件,并希望将其提供给 c 和 c++ 程序员/代码,您可以在这样的头文件中使用它:

#ifndef MYHEADER_H
#define MYHEADER_H

#ifdef __OBJC__
// Put objective C things in this block
// This is an objc object implemented in a .m or .mm file
@implementation some_objc_object {
}
@end
#endif

#ifdef __cplusplus
#define CLINKAGE "C"
// c++ things that .m or .c files wont understand go in here
// This class, in a .mm file, would be able to call the obj-c objects methods
// but present a c++ interface that could be called from c++ code in .cc or .cpp 
// files
class SomeClassThatWrapsAnObjCObject
{
  id idTheObject;
public:
  // ...
};
#endif
// and here you can declare c functions and structs
// this function could be used from a .c file to call to a .m file and do something
// with the object identified by id obj
extern CLINKAGE somefunction(id obj, ...); 
#endif // MYHEADER_H
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Objective-C 中的 __OBJC__ 的相关文章

  • 如何检索 iPhone 的区域设置

    我用谷歌搜索过它 但令我有点惊讶的是我找不到它 我只想访问设备配置的区域设置 我试图找到如何列出所有系统属性 以防我能在那里找到区域设置 但甚至找不到如何做到这一点 我知道 认为 我之前检索过系统属性 但我也记得在谷歌搜索时找到该信息并不容
  • 在成为FirstResponder或resignFirstResponder的情况下将对象保持在键盘顶部?

    我目前在键盘顶部有一个 UITextField 当您点击它时 它应该粘在键盘顶部并平滑地向上移动 我不知道键盘的具体时长和动画类型 所以确实很坎坷 这是我所拥有的 theTextView resignFirstResponder UIVie
  • 对象指针值作为字典的键

    我想使用对象的引用值作为字典的键 而不是对象值的副本 因此 我本质上想在字典中存储与另一个对象的特定实例关联的对象 并稍后检索该值 这可能吗 是不是完全违背了NSDictionary的理念 我可以看出我可能以错误的方式处理这个问题 因为字典
  • 如何清除代码中的 NSLog 输出?

    有没有办法清除代码中的控制台输出 thanks 我喜欢的快捷方式 Simply USE K Keyboard Shortcut when you want to clear the NSLOG Data
  • 如何为 NSAttributedString 内的文本设置“隐藏”属性?

    我有一个 Cocoa 应用程序NSTextView控件将其文本保存在NSAttributedString 实际上我相信这是一个NSMutableAttributedString 我可以轻松地在该字符串内的不同字符范围上设置和修改不同的文本属
  • 沙盒尝试恢复消耗性 IAP

    我一直在尝试在 iOS 上测试一些消耗性 IAP 但遇到了一个奇怪的错误 弹出一条警报 其中包含以下文本 此应用内购买已被购买 它将恢复为 自由的 环境 沙盒 我已经检查过 并且确定我的 IAP 可以在 iTunesConnect 中使用
  • 高效创建 x 层深度的嵌套 for 循环

    这可能是一件简单的事情 但我需要创建一个循环结构 使其循环 y x 次以创建 x 和 y 的所有可能组合 例如 如果有 4 个 x 每个 x 有 2 个 y 我想做这样的事情 for int a 0 a lt y a for int b 0
  • UIDocumentInteractionController 阻止“打开方式”表中的空投

    在我的应用程序中 我允许用户通过 Instagram 分享照片 这需要使用 UIDocumentInteractionController 如果手机支持 则会自动检测空投 如何将其从 打开方式 操作表中删除 即使我使用 UIActivity
  • Objective-c 中的块递归

    当执行涉及 Objective C 块的递归时 我在 iOS 应用程序中收到 EXC BAD ACCESS 信号 这是简化的代码 void problematicMethod FriendInfo friendInfo onComplete
  • 自定义 UITableViewCell 选择样式?

    当我点击我的UITableViewCell 当我单击单元格时 背景部分 我的背景图像未覆盖的区域 会变成蓝色 另外 所有的UILabel单击时单元格上的 s 变为白色 这就是我想要的 然而 我不想要的是当我点击它时的蓝色背景 但如果我这样做
  • 错误域=AVFoundationErrorDomain代码=-11814“无法记录”

    它不断给我错误 错误域 AVFoundationErrorDomain代码 11814 无法记录 我不确定问题是什么 我试图在拍照后计数器达到 1 时录制声音 static int counter counter will always b
  • 确定 Objective-C 方法在运行时是否是可变的

    有没有办法在运行时找出给定方法是否是可变参数类型 就像是method getTypeEncoding 这不会告诉我一个方法是否接受可变数量的参数 或者有什么技巧可以告诉我们吗 罗伯特的评论是正确的 考虑 interface Boogity
  • 使用 NSError 检查错误的正确结构

    我正在编写各种例程 并尽力保持其整洁和重构 我正在创建的方法开始看起来与此代码类似 IBAction buttonPress id sender Create Document Shopping List with this documen
  • iphone NSDate 转换问题

    在我的 facebook 图表 Api 中 我正在获取这些数据 来自杰森 updated time 2011 05 17T14 52 16 0000 我正在使用此代码将其转换为有效的日期格式 NSDateFormatter df NSDat
  • 如何在iOS应用程序中捕获用户的手写签名[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 在我的应用程序中 用户将请求客户提供数字化的手写签名 我需要能够在用户在触摸屏上 书写 签名时捕获签名
  • 在 swrevealcontroller 之前实现登录屏幕

    我刚刚开始学习 IOS 开发 我已经按照给定的在线教程成功实现了 SWRevealViewController 一切都按预期工作 然后 我决定添加一个登录屏幕 这将是应用程序运行时用户看到的第一个页面 我采取的步骤如下 将 UIViewCo
  • Swift 闭包作为 AnyObject

    我尝试使用这个方法 class addMethod 在 Obj c 中使用如下 class addMethod self class selector eventHandler imp implementationWithBlock han
  • 如何在 ios 7 上更改重新排序控制图像

    我正在寻找一种更改重新排序控件图像和大小的方法 我使用此代码来更改重新排序图像 void tableView UITableView tableView willDisplayCell UITableViewCell cell forRow
  • 为什么使用[ClassName alloc]而不是[[self class] alloc]?

    我正在读马克 达尔林普尔 Mark Dalrymple 的著作在 Mac 上学习 Objective C 仅在协议章节 所以仍然相对较新 并试图弄清楚一些事情 为什么要通过类自己的名称来引用它 如果我有一个叫做Foo 为什么我会想写 比如说
  • iOS 10 的错误? NSDate 日本地区时间描述和 24 小时休息

    这似乎是 iOS 10 的一个错误 在 iOS 8 和 9 中都可以 NSDate date description 的小时描述是错误的 它附加了 24 小时描述和 12 小时描述 我没有使用 NSDateFormatter 只是默认设置

随机推荐

  • 每对观测值的马氏距离

    我正在尝试计算数据集的每个观测值之间的马哈拉诺比斯距离dat 其中每行是一个观察值 每列是一个变量 该距离定义为 我写了一个函数来做到这一点 但我觉得它很慢 在 R 中是否有更好的方法来计算它 生成一些数据来测试该功能 generateDa
  • 这个正则表达式不应该发生灾难性的回溯

    有人可以解释为什么 Java 的正则表达式引擎会在此正则表达式上进入灾难性的回溯模式吗 据我所知 每个交替都与其他每个交替相互排斥 s s Text p o de a car itaucard mastercard platinum SUS
  • 如何在Python 3.6中执行2个协程

    我无法让两个协程在我的 Python 3 6 程序中并行执行 这是一个例子 import asyncio time def main loop asyncio get event loop loop run until complete s
  • 查找C++静态初始化顺序问题

    我们遇到了一些问题静态初始化顺序惨败 http www parashift com c faq lite static init order html 并且我正在寻找方法来梳理大量代码以查找可能发生的情况 关于如何有效地做到这一点有什么建议
  • Cypher 查询 JSON 格式的结果

    在演员 电影演示图上 cypher 在单独的数组中返回列名称 MATCH n Person RETURN n name as Name n born as Born ORDER BY n born LIMIT 5 results colum
  • Mysql查询查找具有相同列值的字段之和

    我有一张这样的桌子 id invent id order 1 95948214 70 2 46018572 30 3 46018572 20 4 46018572 50 5 36025764 60 6 36025764 70 7 95948
  • Java音乐播放器:歌曲信息和播放[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 在Android中 我们可以使用媒体播放器在设备上播放歌曲 并使用光标来获取曲目信息 操作系统跟踪的信
  • 简单登录返回空白页

    我正在学习 PHP 并且制作了一个简单的登录脚本 但问题是它仅将我重定向到空白页面 如果用户凭据正确 它的意思是重定向到index php 但情况显然并非如此 还有验证 如果用户输入空白 则会返回错误 这似乎没有被执行 登录 php
  • 使用 rdmsr/rdpmc 提高分支预测精度

    我试图了解分支预测单元在 CPU 中如何工作 我用过papi还有linux的perf events但他们都没有给出准确的结果 对于我的情况 这是我的代码 void func int arr int sequence len for int
  • 在c中获取浮点数的指数

    抱歉 如果已经有人问过这个问题 并且我已经看到了提取浮点数指数的其他方法 但这就是给我的 unsigned f2i float f union unsigned i float f x x i 0 x f f return x i 我无法理
  • css4 中可以使用父选择器吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 Here is fiddle http jsfiddle net uday redI V9F7d 7 我有 2 个 div 一个是外盒 另一个是
  • Matplotlib 在 vi​​rtualenv 中不显示图形

    我已经在我的 virtualenv 中安装了 pip matplotlib 并且正在尝试绘制一个简单的图表 我使用 Eclipse 和 PyDev 当我从 Eclipse 运行脚本时 它根本不显示任何图形 我已经尝试过其他问题中提出的建议
  • 是否可以在 Cloudformation 中更新 Elastic Beanstalk 环境而不影响部署到其中的版本?

    我正在使用 Cloudformation 创建 Elastic Beanstalk 环境 我必须创建一个 ApplicationVersion 只是为了启动它并将其输入到环境的定义中 我创建其他应用程序版本并以其他方式将它们部署到集群 Co
  • C 线程编程 - 增加共享变量

    嘿伙计们 所以我正在尝试温习我的 C 线程 我发现的一个问题是 给定一个全局变量 int x 0 实现函数 void 无用 int n 它创建 n 个线程 在循环中将 x 加 1 每个线程在 x 达到 100 时终止 我只是没有掌握线程 需
  • 在结账页面和 WooCommerce 数据字段中添加取货地点自定义字段

    我在另一个类似问题的答案中找到了以下解决方案 根据 WooCommerce 中的自定义字段值将文本添加到订单摘要 https stackoverflow com questions 45906636 add text to order su
  • 如何将多列传递给php中的变量

    我正在开发一个项目 该项目需要将多个列内容传递给 php 变量 我能够选择一列内容并将其传递给变量 但在多列上失败 myEMPNEM sqlNEM SELECT first name middle name last name job ti
  • 如何在PowerShell中将数据导出为CSV?

    foreach computer in computerlist if Test Connection Cn computer BufferSize 16 Count 1 ea 0 quiet foreach file in REMOVE
  • 取消选中所有使用 *ngFor 创建的复选框

    我有一个表 其中有一列 其中每行包含一个复选框 使用 ngFor 单击按钮后 我想取消选中所有复选框 我尝试使用 ngModel boxChecked 对于每个复选框 并在我的按钮单击调用的方法中将该值设置为 false 但这会导致每当我仅
  • AngularJS 无法在发布模式下工作(缩小)

    我的项目中有 AngularJS 和 Bootstrap 的 Angular 指令 这两个指令都是通过 Nuget 添加的 When 编译调试 真 一切都很好 但是一旦我改变了编译调试 to false Angular 停止工作 并且我在
  • Objective-C 中的 __OBJC__

    什么是 OBJC 在 Objective C 中是什么意思 import