小编Car*_*rlJ的帖子

Grand Central Dispatch vs. NSThread

我为NSThread和Grand Central Dispatch(GCD)创建了一些测试代码:

- (void)doIt:(NSNumber *)i
{
 sleep(1);
 NSLog(@"Thread#%i", [i intValue]);
}

- (IBAction)doWork:(id)sender
{

 for (int i = 0; 10 > i; i++) {
    NSNumber *t = [NSNumber numberWithInt:i];
    [NSThread detachNewThreadSelector:@selector(doIt:) toTarget:self withObject:t];
 }

 sleep(1);

 dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
 dispatch_apply(10, queue, ^(size_t i) {
    sleep(1);
    NSLog(@"GCD#%u",(int)i);
 });
}
Run Code Online (Sandbox Code Playgroud)

结果如下:

2011-04-13 19:41:07.806 GDC[1494:5e03] Thread#0
2011-04-13 19:41:07.813 GDC[1494:6903] Thread#3
2011-04-13 19:41:07.812 GDC[1494:6403] Thread#2
2011-04-13 19:41:07.812 GDC[1494:5f03] Thread#1
2011-04-13 19:41:07.813 GDC[1494:6e03] Thread#4
2011-04-13 19:41:07.814 GDC[1494:7303] Thread#5
2011-04-13 19:41:07.814 GDC[1494:7803] Thread#6
2011-04-13 …
Run Code Online (Sandbox Code Playgroud)

cocoa-touch nsthread grand-central-dispatch ios

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

在loadView方法中计算视图大小的最佳实践

loadViewUIViewController没有XIB文件的情况下计算方法中的视图大小的最佳做法是什么?

这是我的解决方案:

- (void)loadView {

  //Calculate Screensize
  BOOL statusBarHidden = [[UIApplication sharedApplication] isStatusBarHidden ];
  BOOL navigationBarHidden = [self.navigationController isNavigationBarHidden];
  BOOL tabBarHidden = [self.tabBarController.tabBar isHidden];

  CGRect frame = [[UIScreen mainScreen] bounds];

  if (!statusBarHidden) {
    frame.size.height -= [[UIApplication sharedApplication] statusBarFrame].size.height; 
  }
  if (!navigationBarHidden) {
    frame.size.height -= self.navigationController.navigationBar.frame.size.height; 
  }
  if (!tabBarHidden) {
    frame.size.height -= self.tabBarController.tabBar.frame.size.height; 
  }

  UIView *v = [[UIView alloc] initWithFrame: frame];
  [v setBackgroundColor: [UIColor whiteColor] ];
  [v setAutoresizingMask: UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight ];
  [self setView: v ];
  [v release]; …
Run Code Online (Sandbox Code Playgroud)

uiviewcontroller loadview ios

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

在Mac OS X Lion 10.7.3上安装mitmproxy

我从以下网址下载了mitmproxy:https://github.com/cortesi/mitmproxy并使用以下命令安装mitmproxy:

sudo python setup.py install
Run Code Online (Sandbox Code Playgroud)

如果我尝试启动mitmproxy:

./mitmproxy -p 8899
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Traceback (most recent call last):
  File "./mitmproxy", line 19, in <module>
    from libmproxy import proxy, console, cmdline
  File "/Users/carl.jahn/Downloads/cortesi-mitmproxy-bc3ba4c/libmproxy/proxy.py", line 24, in <module>
    import utils, flow, certutils
  File "/Users/carl.jahn/Downloads/cortesi-mitmproxy-bc3ba4c/libmproxy/certutils.py", line 2, in <module>
    from pyasn1.type import univ, constraint, char, namedtype, tag
ImportError: No module named pyasn1.type
Run Code Online (Sandbox Code Playgroud)

我该如何修复错误?

谢谢

更新:

好的,我修好了

  • 安装当前版本

  • 通过从当前版本下载安装urwid 并在mitmproxy文件夹中复制urwid文件夹(位于下载的urwid-XXX文件夹中)

  • 安装pyasn1和pyopenssl:

    pip install pyasn1 或(sudo) easy_install pyasn1

    pip …

macos

7
推荐指数
0
解决办法
5928
查看次数

iOS 4.3.5上静态库中未找到符号错误

我在iOS 4.3.5通过临时部署(通过HTTP下载)安装了我的应用程序的手机上看到此错误:

Dyld错误消息:

  Symbol not found: _OBJC_CLASS_$_NSJSONSerialization
  Expected in: /System/Library/Frameworks/Foundation.framework/Foundation
Run Code Online (Sandbox Code Playgroud)

应用程序中的代码不会调用iOS 5库,除非已经显示存在类(即if(NSClassFromString(@"NSJSONSerialization")!=nil),因此问题不是调用iOS 5iOS 4设备上的库.

应用程序本身包含一个静态库,它是我自己的代码,是NSJSONSerialization引用存在的地方.

iOS 4.3如果直接从xcode(即通过USB线连接到开发机器的iPhone)运行,该应用程序在设备上完美运行.但是,当通过adhoc部署在同一设备上运行时,我会看到崩溃.

adhoc存档是通过Product->Archivein 构建的xcode 4,然后我使用'Distribute'按钮创建Ad-Hoc部署.ipa文件.

该应用程序几乎立即崩溃,让我觉得可能根本没有调用我的代码,这是我的存档构建设置可能在这里不正确?

非常感谢您提供帮助的任何时间!

objective-c ios

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

保留Count NSArray与NSMutableArray

使用代码示例的简短问题:

NSLog(@"%i", [[[NSArray alloc] init] retainCount]);
NSLog(@"%i", [[[NSMutableArray alloc] init] retainCount]);
Run Code Online (Sandbox Code Playgroud)

输出:

2
1
Run Code Online (Sandbox Code Playgroud)

为什么NSArray和NSMutableArray中的retainCount不同?

memory iphone retain ios

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

如何:(){:| :&}; :工作

可能重复:
这个bash fork炸弹是如何工作的?

嗨,

快速提问.

这个shell命令如何工作以及为什么它的cpu使用率高达100%?

: ( ) { : | : & } ; :
Run Code Online (Sandbox Code Playgroud)

shell command

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

objC预处理器NSString宏

我有一个问题是创建一个预处理器宏函数,它连接两个字符串并"返回"一个NSString(@"...")值.

这是我尝试过的:

#define ObjectKeyMake(NAME) @"com.test.##NAME"
Run Code Online (Sandbox Code Playgroud)

如果我通过电话打印结果我得到:

NSLog(@"%@", ObjectKeyMake(foo)); // com.test.##NAME
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:如何在预处理器宏中连接2个字符串并"返回"NSString(@"..")?

不,我不能使用,#define ObjectKeyMake(NAME) [@"com.test." stringByAppendingString: NAME]因为我需要一个编译时常量.

objective-c nsstring c-preprocessor

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

什么是班级方法中的"自我"

可能重复:
关于关键字self
为什么self在目标c中的静态上下文中是允许的

什么类型的对象是self类方法中的对象?

例:

+ (void)test {
 NSLog(@"class self: %@", self); 
}
Run Code Online (Sandbox Code Playgroud)

self类方法中的对象是类的完全初始化对象还是只有重要元数据的类包装器对象?

最好的祝福

class object objective-c

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