问题标签 [objc-protocol]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3674 浏览

objective-c - 任何人都可以在目标 C 中为普通类而不是类别或协议提供前向声明的示例吗?

任何人都可以在目标 C 中为普通类而不是类别或协议提供前向声明的示例吗?

0 投票
1 回答
301 浏览

objective-c - 类名含义后的 V 形语句

在下面的代码部分中,该部分的确切<UIScrollViewDelegate>含义和作用是什么?它最有可能用于什么,如果它被移除最有可能发生什么?(任何理论例子都很好)

0 投票
1 回答
5584 浏览

objective-c - 在类方法中使用 self

我在 ShareKit 中遇到了这段代码,我不明白作者在想什么,self在类方法中使用。有一个警告:不兼容的指针类型将“类”发送到参数类型id<FBSessionDelegate>我想清理这些警告,这样我就可以看到以后可能会受到伤害的警告。我可以/应该做什么才不会破坏这个?

这是文件 SHKFacebook.m,类名是 SHKFacebook

0 投票
2 回答
286 浏览

objective-c - 使用 Objective C 进行强制转换

假设我有一个NSManagedObject名为MBManagedSquareand的子类MBManagedCircle。一个MBManagedSquareMBManagedCircle定义一个方法prepareFromDictionary:(NSDictionary*)dic,它们的实现是不同的。

说我有这个代码:

因此,Core Data 的实体类型是通过type字符串动态确定的。所以我只知道它是一个NSManagedObject.

我想要做的是调用prepareFromDictionary:正确类的方法。

因此,如果类型是“MBManagedSquare”,我想将对象转换为MBManagedSquare,然后调用

我尝试做的是:

但我得到一个预期的表达式错误。我不确定这是否可能。我该怎么做?

0 投票
2 回答
6688 浏览

ios - Xcode 5 iOS 7 中的自动属性合成警告

我在 Xcode 5 中收到带有 iOS 7 SDK 的警告,上面写着

在带有 iOS 6.1 SDK 的 Xcode 4 中,我没有收到此警告。有任何想法吗?

这是我的代码:

列表.h

列表.m

我在线收到警告:

0 投票
2 回答
2750 浏览

ios - JSONModel:填充泛型类型的 NSArray

我在我的 iOS 应用程序中使用 JSONModel 并且我面临一些警告,让我解释一下自己。

假设我有这个 JSONModel

CTVContact.h

CTVContact.m

基本上,这一切都像一个魅力,但我收到一条警告,说明以下内容:

我该如何绕过该警告?如果没有该警告,我找不到将所有数组值分配给电话数组的正确方法。

提前非常感谢!

0 投票
1 回答
622 浏览

ios - objc 与协议继承不兼容的指针类型

我正在使用 Xcode 5.1 版、iOS SDK 7.1 版运行。以下是同一个文件中的一些示例声明:

Xcode 在以下代码中生成警告:

我知道类型转换会消除警告,但是,我不明白我为什么需要它。SomeObject 必须实现协议 A 中声明的任何内容。我缺少什么吗?任何解释将不胜感激。

0 投票
4 回答
19490 浏览

ios - 类型“ViewController”不符合协议“UICollectionViewDataSource”

我正在关注使用UIPickerController来操作相机的教程。但是,在实施时UICollectionViewDatsaSource,我收到一条错误消息,指出ViewController不符合UICollectionViewDataSource协议。

关于如何解决这个问题的任何想法?

0 投票
1 回答
99 浏览

ios - 检查可选的多参数委托方法

对 Swift 来说很陌生。如果(a)设置了委托并且(b)实现了该方法,那么如何获得调用可选委托方法的最简洁/惯用的语法。

我知道?可以扮演这个角色(例如self.delegate.foo?()),但是当我尝试调用具有多个参数的 ObjC 委托方法并返回一个我关心捕获的值(Bool)时,我很难获得正确的语法(我想区分“方法未实现”和“方法已实现并返回 false”)。

这是一个例子。在这种情况下,MyDelegateProtocol有一个可选方法-myThing:argTwo:argThree:(返回 Bool)。

这个片段似乎得到了正确的语义,但它使用respondsToSelector并且非常健谈。它可以以更惯用的方式改进吗?

0 投票
3 回答
123 浏览

ios - 尝试从 UIView 的按钮转移到另一个 ViewController 时,委托不起作用

我正在尝试以编程方式转到另一个故事板上的视图控制器。

提供更多细节;我的 xib 上有一个 UILabel 和 UIButton,其中 UILabel 包含一个“Lorem ipsum”,并且按钮的类型已更改为自定义,因此它可以是透明的。我已将按钮的大小设置为覆盖所有 xib 文件。因此,当用户点击按钮时,我可以在该按钮的操作中创建一个 segue。

我知道我不能直接这样做,所以我必须有一个委托方法,它将从我的 xib 的父视图控制器调用。当我运行我的项目时,它一直落入 Mini.m 文件的 btnClick 操作的 else 块中。

在此处输入图像描述

我还进行了一些搜索并阅读了一些以前的帖子,例如以下链接,但不知何故无法解决问题。有什么想法我在这里缺少什么吗?

https://stackoverflow.com/a/35583877/1450201

https://stackoverflow.com/a/6169104/1450201

https://stackoverflow.com/a/30508168/1450201

https://stackoverflow.com/a/10520042/1450201

迷你.h

最小米

视图控制器.h

视图控制器.m


编辑:我使用我的 UIView 作为我的 UIViewCotnroller 的子视图。这是一个截图 在此处输入图像描述


编辑 2:我最新更改的屏幕截图:(仍然无法导航到 SecondViewController) 在此处输入图像描述

在此处输入图像描述

在此处输入图像描述