相关疑难解决方法(0)

在Objective-C中创建一个抽象类

我原来是一名Java程序员,现在使用Objective-C.我想创建一个抽象类,但在Objective-C中似乎不可能.这可能吗?

如果没有,我可以在Objective-C中获得一个抽象类的接近程度?

abstract-class objective-c

501
推荐指数
12
解决办法
16万
查看次数

为什么不在Xcode 6中自动创建ProjectName-Prefix.pch?

为什么不ProjectName-Prefix.pch自动创建Xcode 6

是否不再需要预编译头?

我应该在哪里写下之前的代码ProjectName-Prefix.pch

xcode ios xcode6

261
推荐指数
8
解决办法
11万
查看次数

是否应该在生产代码上使用NSLog()?

我在这个网站上被告知了几次,但我想确保确实如此.

我希望能够在我的代码中撒上NSLog函数调用,并且Xcode/gcc会在构建我的Release/Distribution版本时自动删除这些调用.

我应该避免使用它吗?如果是这样,有经验的Objective-C程序员之间最常见的选择是什么?

iphone objective-c nslog

154
推荐指数
6
解决办法
3万
查看次数

NSLog使用Objective-C在iPhone中记录方法名称

目前,我们正在定义一个扩展日志机制来打印出日志的类名和源行号.

#define NCLog(s, ...) NSLog(@"<%@:%d> %@", [[NSString stringWithUTF8String:__FILE__] lastPathComponent], \
    __LINE__, [NSString stringWithFormat:(s), ##__VA_ARGS__])
Run Code Online (Sandbox Code Playgroud)

例如,当我调用NCLog(@"Hello world")时; 输出将是:

<ApplicationDelegate:10>Hello world
Run Code Online (Sandbox Code Playgroud)

现在我还想注销方法名称,如:

<ApplicationDelegate:applicationDidFinishLaunching:10>Hello world
Run Code Online (Sandbox Code Playgroud)

因此,当我们知道调用哪种方法时,这将使我们的调试变得更容易.我知道我们也有Xcode调试器,但有时候,我也希望通过注销来进行调试.

c iphone debugging objective-c

147
推荐指数
4
解决办法
6万
查看次数

简短实用的Objective-C片段?

从XCode 4开始,现在有一个Code Snippets部分,在输入时通过自动完成提供片段.我对你们都存储在那里的片段非常感兴趣.哪些片段可以节省您最多的时间(以及为什么)?

请仅发布实际的片段(意思是没有讽刺的"不需要没有stinkin'片段",也没有"我喜欢<XYZ>"的片段),只有短片和甜片(即不超过~20行)至多,最多...).如果一个片段显然没用,也可以解释为什么你认为它是.;)

xcode objective-c code-snippets xcode4

25
推荐指数
6
解决办法
3388
查看次数

有什么方法可以问一个方法的名字吗?

我正在尝试调试我正在研究的iPhone应用程序,并且为各种源文件添加50个NSLog语句的想法给了我一些想法.

我想做的是写一对陈述,比方说

NSString *methodName = [self methodName];
NSLog(@"%@", methodName);
Run Code Online (Sandbox Code Playgroud)

我可以粘贴到我需要的每个方法中.有没有办法做到这一点?是否有一些Objective-C构造用于询问方法的名称?或者我必须以艰难的方式做到这一点?

iphone cocoa objective-c

14
推荐指数
2
解决办法
5452
查看次数

iOS:如何通过XCode调试Lightning附件

我正在开发一个与闪电配件对话的iOS应用程序.现在,当连接附件时,我无法使用闪电端口在xcode中调试我的应用程序.

当闪电配件连接到iOS设备时,有没有办法将调试器连接到我的应用程序?

要么

我可以以某种方式将闪电配件连接到我的Mac,并在模拟器中调试吗?

我知道有些人在谈论WiFi调试,但Xcode 6不支持.

debugging xcode objective-c external-accessory ios

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

NSLog提交的应用程序

我不幸地提交了一个NSLog仍处于活动状态的应用程序.它很少发生火灾,但我想知道我的应用被拒绝的可能性是什么?

我不是在问如何压制NSLog.我已经知道怎么做了.它只是一个迷路的NSLog,它误导了它.

iphone nslog app-store appstore-approval

5
推荐指数
1
解决办法
1927
查看次数

更简单的NSLog宏

使用iphone sdk 4.0我想从这个宏中删除函数名称的东西,但我正在努力

#define LOG(fmt, ...) NSLog((@"%s " fmt), __PRETTY_FUNCTION__,##__VA_ARGS__)
Run Code Online (Sandbox Code Playgroud)

我试过了

#define LOG(fmt, ...) NSLog((@"%s " fmt), ##__VA_ARGS__)
Run Code Online (Sandbox Code Playgroud)

但这会导致崩溃!!

我希望能够像这样记录

LOG("text to log");
LOG("text to log with param %d", param); etc
Run Code Online (Sandbox Code Playgroud)

iphone

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

如何在iOS中不写登录发布模式?

在我的记忆中,有一些代码可以让NSLog发布时不起作用。

我不想NSLog在我的代码中删除我的。它对调试模式有很大帮助。

所以我想找到一种方法可以将它们留在我的代码中,并且在发布时也不会减慢应用程序的速度。

谢谢你的帮助~~

objective-c nslog

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

使用Objective-C中的宏来记录函数名称和行号

我有以下简化的代码示例:

// in .h file
// define a macro for partial method
#define debugWithMsg context:(CFStringRef)__FUNCTION__ lineNumber:__LINE__ debug:

@interface MyLogger : NSObject {
  ...
}

- (void) context:(CFStringRef)function 
      lineNumber:(int)line 
           debug:(NSString*)messageFormat, ...;
@end
Run Code Online (Sandbox Code Playgroud)

我在其他类中使用此方法将调试消息打印到XCode控制台.这是一个测试我的调试方法的例子(在带有表视图的MyViewController类中):

- (NSInteger)tableView:(UITableView *)table numberOfRowsInSection:(NSInteger)section {
  ...
  // myLogger is an instance of MyLogger.
  [myLogger debugWithMsg@"something for %@", @"testing!"];
  ...
}
...
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
  ...
  [myLogger debugWithMsg@"something for %@", @"another testing!"];
  ...
}
Run Code Online (Sandbox Code Playgroud)

上面的例子效果很好; 但是,对我来说,它看起来不像标准的C/C++或ObjC语法.我需要使用这个宏的原因是我想将前两个参数作为"常量"传递给方法.实际上,这两个参数也是宏:__FUNCTION__是C++宏,__LINE__是C标准宏.这两个特殊宏将动态映射到函数的字符串和调用方法的行号.例如,上面的调试方法调用在XCode控制台中打印一个msg,如下所示:

[timestamp] -[MyViewController tableView:numberOfRowsInSection:] line:107 - something for testing!
... …
Run Code Online (Sandbox Code Playgroud)

c c++ objective-c

3
推荐指数
1
解决办法
2854
查看次数

如何使用不同类型的登录xcode

我想知道有多少类型的od日志以及何时使用什么类型的日志.现在我一直在使用NSLog但是当我最终将applcation提交到app store时我需要搜索nslog并需要关闭所有我听说过Dlog,Alog但不知道如何使用.所以当我们选择发布,调试模式时,是否有任何解决方案可以设置Log.如果你能为我提供不同日志类型的代码以及如何使用它们.

iphone xcode

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