相关疑难解决方法(0)

如何打印方法名称和行号并有条件地禁用NSLog?

我正在做一个关于在Xcode中调试的演示文稿,并希望获得有关使用NSLog的更多信息.

特别是,我有两个问题:

  • 有没有办法轻松NSLog当前方法的名称/行号?
  • 有没有办法在编译发布代码之前轻松"禁用"所有NSLog?

xcode cocoa cocoa-touch objective-c nslog

446
推荐指数
11
解决办法
14万
查看次数

是否可以在Objective-C中将-init方法设为私有?

我需要-init在Objective-C中隐藏(私有)我的类的方法.

我怎样才能做到这一点?

objective-c

143
推荐指数
3
解决办法
4万
查看次数

我什么时候定义objective-c方法?

我正在学习Objective-C,并且拥有C/C++背景.

  • 在面向对象的C++中,总是需要在定义(实现)它之前声明方法,即使它是在父类中声明的.

  • 在过程式C,IIRC中,只要定义一个函数,只要从同一个编译单元中的其他东西(即同一个文件)调用它就可以远离文件中的某个函数(嗯,提供)你没有在其他地方用"extern"声明它.

  • 现在,在Objective-C中,您似乎只需要在头文件中声明选择器,如果它们将被外部使用,并且您可以在.m文件中组合选择器就好了,并在其中调用它们.m文件.此外,似乎永远不会(重新)定义委托方法或继承的方法.

我是在正确的轨道上吗?什么时候需要在Objective-C中定义一个选择器?

api-design declaration definition objective-c

34
推荐指数
2
解决办法
1万
查看次数

为什么我们调用doesNotRecognizeSelector:方法?

我正在使用套接字编程.我只是想清除与我从 - mobileorchard.com - Chatty下载的代码相关的疑问.在研发时,我在ChatRoomViewController.m文件中看到了一个函数调用

 [chatRoom broadcastChatMessage:input.text fromUser:[AppConfig getInstance].name];
Run Code Online (Sandbox Code Playgroud)

当我在Room.m 文件中看到,用于执行上面的调用; 它是

- (void)broadcastChatMessage:(NSString*)message fromUser:(NSString*)name
{
    // Crude way to emulate an "abstract" class
    [self doesNotRecognizeSelector:_cmd];
}
Run Code Online (Sandbox Code Playgroud)

我用google搜索"doesNotRecognizeSelector:",根据Apple的错误处理,声明"只要对象收到一个无法响应或转发的aSelector消息,运行时系统就会调用此方法." 我的问题是为什么开发人员调用broadcastChatMessage:fromUser: function如果它没有在那里使用并处理哪个方法的"未找到选择器"异常?

根据Stackovrflow,它用于创建抽象类,根据这个问题,它避免了"不完整实现"的警告.

我仍然没有理解为什么在Chatty Code中使用该方法,请帮助我理解使用该方法的原因.

iphone objective-c nsobject ios

13
推荐指数
1
解决办法
6221
查看次数

什么是协议?

我已阅读文档,但我仍然感到困惑.有人可以解释一下协议是什么吗?(您可以提供代码示例,但我真的在寻找解释)

objective-c

9
推荐指数
1
解决办法
2030
查看次数

Objective-c:我如何要求覆盖而不是超级调用?

我想通过编写@protocol解决了这个问题.

但我渴望知识.是否有一些标志或其他方式要求子类覆盖特定方法而不是调用super?与NS_REQUIRES_SUPER/objc_requires_super相反?

objective-c nsobject ios

9
推荐指数
1
解决办法
992
查看次数

Objective-C - 模板方法模式?

所以我一直在阅读关于Objective-C的模板方法,我试图了解它们的特殊之处.根据我的理解,Base类中的任何方法都可以被覆盖并且可以调用super吗?那么模板方法不仅仅是覆盖基类中的方法吗?

如果我错了,你能解释一下模板方法模式是什么,你能提供一个例子吗?

design-patterns objective-c template-method-pattern

7
推荐指数
1
解决办法
7903
查看次数

iOS子类和强制方法

我有一个基本视图控制器,许多其他视图控制器子类.有没有办法强制执行某些必须在子类中重写的方法?

为了安全起见,比什么都重要.

干杯

methods inheritance objective-c enforcement ios

5
推荐指数
2
解决办法
2928
查看次数

强制变量声明的议定书 - 目标C.

是否可以在@protocol中声明变量?只是为了强制程序员在实现类(实现此协议的类)头和实现中添加这些变量?

谢谢

iphone protocols objective-c ios

4
推荐指数
1
解决办法
1439
查看次数

Objective-C中Concrete类和Abstract类的区别

我正在学习iOS开发,我遇到了具体而抽象的课程.这些课程有什么区别.我在网上搜索过,但他们用的是其他语言,而不是Objective-C.

abstract-class objective-c concreteclass ios

4
推荐指数
1
解决办法
4651
查看次数