文中相关的调度技巧均在Xcode4.5+环境中完成。 这篇文章给大家带来的是一些Xcode实用技巧,比如:• 摆脱NSlog打印输出,使用断点日志。• 摆脱TODOs注释来进行编译警告。• 使用条件表达式来进行断点。• 使用LLDB动态修改数据。• 等等。 • 设置调试控制台可以通过cmd+shift+Y组合键或按如下方式调出控
# Swift 调用 Objective-C Framework 的方法详解 在 iOS 开发中,Swift 和 Objective-C 是两种常见的编程语言。尽管 Swift 的出现使得许多人转向使用这门现代语言,但仍然有大量的 Objective-C 代码和框架为我们所用。因此,了解如何在 Swift调用 Objective-C Framework 是一个重要的技能。本文将通过实例和图示
原创 8月前
18阅读
What is this? FKRealGroup是一个增强Xcode创建、删除文件夹的插件。FKRealGroup会在编辑菜单中添加"New Real Group"和"Delete Real Group"两个选项。 新建文件夹 我们知道,Xcode本身的"New Group"选项只会创建一个虚拟文件夹,并不会在本地磁盘创建真实文件夹。一般来说,我们会右击->Show in Finder
转载 2023-12-20 13:34:29
50阅读
# Xcode OC调用Swift教程 ## 一、整体流程 ```mermaid flowchart TD A[创建Swift文件] --> B[创建桥接文件] B --> C[导入Swift头文件到OC文件] C --> D[调用Swift方法] ``` ## 二、具体步骤及代码示例 ### 1. 创建Swift文件 首先,在Xcode中创建一个Swift文件,
原创 2024-05-15 06:25:32
434阅读
本系列的文章主要来自于个人在学习前锋教育-欧阳坚老师的iOS开发教程之OC语言教学视频所做的笔记,边看视频,边记录课程知识点。建议大家先过一遍视频,在看视频的过程中记录知识点关键字,把把握重点,然后再将零散的知识点整理出来。这样的学习方法会带来更多的收获,同时要多做练习,按照思路,默写、改写代码。在这里,感谢欧阳坚老师,学习你的课程使我走上了ios的开发之路。一定要明确一个要从事的方向,要不然就会
@objc vs @objc dynamic @objc: Objective-C entry points One can explicitly write @objc on any Swift declaration that can be expressed in Objective-C. @
转载 2018-09-19 18:17:00
151阅读
2评论
Objective-C entry points https://github.com/apple/swift-evolution/blob/master/proposals/0160-objc-inference.md Before Swift 4, the compiler made some 
转载 2018-09-19 17:30:00
109阅读
2评论
什么是@objc属性实战需求在Swift中,我看到一些类似的方法:@objc private func doubleTapGestureRecognized(recognizer: UITapGestureRecognizer)默认情况下,Swift生成的代码仅对其他Swift代码可用,但是如果您需要与Objective-C运行时进行交互(例如,整个UIKit),则需要告诉Swift怎么做。这就
转载 2024-03-03 09:49:23
38阅读
.obj文件中,每一行都有表明该行意义的标志符。"v"--点的坐标,顺序为x, y, z;"vt"--纹理坐标,顺序为x, y;"vn"--法向量坐标,顺序为x, y, z;"f"--面所用到的点坐标/纹理坐标/法向量坐标的索引;"mtllib"--.obj文件用到的material库文件;"g"--组group的名称;"usemtl"--一旦使用了该标志符,则在该标志符后面的"f"全部受影响,直
转载 2024-01-02 13:09:30
42阅读
# Xcode OC项目调用Swift ## 1. 概述 在iOS开发中,我们可以使用Objective-C(OC)和Swift两种语言来编写应用程序。有时候,我们希望在OC项目中调用Swift代码,以利用Swift语言的优势和功能。本文将介绍如何在Xcode的OC项目中调用Swift代码。 ## 2. 流程 以下是整个过程的流程图: ```mermaid flowchart TD
原创 2023-10-12 11:12:38
803阅读
# Swift Package xcframework objc 科普文章 ## 简介 在开发iOS应用程序时,我们经常使用Swift编写代码,但有时也需要使用Objective-C来实现一些功能。Swift Package xcframework objc是一种用于在Swift项目中使用Objective-C代码的方法。 ## 什么是Swift Package xcframework ob
原创 2024-01-27 07:56:50
160阅读
One can explicitly write @objc on any Swift declaration that can be expressed in Objective-C. @objc相关的参量只能修饰类、类的成员、扩展以及只能被类实现的协议; 下面开列修饰的情况和说明 一、无修饰 N
转载 2019-03-26 19:33:00
194阅读
2评论
根本问题要追到OC——swift调用的点上,在OC使用的过程中我们都知道是基于运行时的,那么在Swift使用过程中,因为swift追求性能所以就不可能在运行时去查找这个类。 也就是说 Swift 类型的成员或者方法在编译时就已经决定,而运行时便不再需要经过一次查找,而可以直接使用。那么在Swift调用OC时没有问题,如果OC调用swift代码的时候怎么办呢??解决起来也很简单,在 Sw
转载 2024-02-24 12:23:42
40阅读
Objective-C 和 Swift 在底层使用的是两套完全不同的机制,Cocoa 中的 Objective-C 对象是基于运行时的,它从骨子里遵循了 KVC (Key-Value Coding,通过类似字典的方式存储对象信息) 以及动态派发 (Dynamic Dispatch,在运行调用时再决定实际调用的具体实现)。而 Swift 为了追求性能,如果没有特殊需要的话,是不会在运行时再来决定这些
在开发iOS应用时,使用XcodeSwift进行图片导入是一个常见的需求。无论是展示用户界面上的图像,还是处理用户上传的图形,了解如何正确导入图片将有助于提升应用的用户体验。 ### 问题背景 在使用Xcode开发时,开发者常常会面临将图像资源导入到项目中的问题。一个不当的导入可能会造成图像无法显示,从而影响用户体验。这一过程需要从项目资源管理、文件格式和代码实现等多个方面进行考虑。 现象
原创 5月前
57阅读
# 项目方案:在Swift中使用objc宏 ## 背景 在iOS开发中,Swift和Objective-C的混合使用是一个常见的情况。由于Swift的类型安全和简洁语法,它渐渐成为主流语言。然而,在某些情况下,有些功能或者库仍旧是用Objective-C编写的,这时候效率和兼容性问题就会显现。为了解决这些问题,我们需要利用Objective-C的宏功能,在Swift中实现更高效和便捷的代码。
原创 8月前
56阅读
To use images in Xcode, you need to upload them to Assets.xcassets, located in the Supporting Files folder. There are two options you can go with: bitmaps (aka .png files) or vectors (aka .pdf files).
http://blog.carbonfive.com/2011/04/04/using-open-source-static-libraries-in-xcode-4/ http://developer.apple.com/library/mac/#qa/qa1490/_index.html http://kongbei888.blog.163.com/b
Xcode提供了所有你创建一个App需要的功能。但是由于其不开源以及没有制作Xcode-Plugin相关的文档,在我们需要添加一些自己的想法和功能的时候变得缺乏灵活性。 但是我们可以通过一些非官方的手段来扩展我们自己的Xcode,并且分享给别人使用。 Xcode Plug-in能做什么 太多了,我们可以自动生成代码注释(VVDocumenter),我们可以在代码编辑器中直接显示我们初始化的UICo
在写代码的时候,如果按照一定的规范在头文件里写上注释的话, 就可以利用Xcode的文档自动输出功能生成一份完整的HTML项目文档。 生成的格式和Apple Developer网站上的API文档几乎是一样的。 我们来看看如何利用Xcode生成项目文档。 步骤: 1. 在XCode里点击Project,然后点Add Target给项目添加一个TARGET(或:点击File -> New -&g
  • 1
  • 2
  • 3
  • 4
  • 5