Tag: cocoa

为什么伞架不鼓励?

我想分发框架A.框架A依赖于框架B.我想我的框架的用户只需要包括框架A,但仍然有程序访问框架B. 苹果一直使用“Umbrella Frameworks”这个概念来做这个事情,但是这个文档有这个话题: 不要创build伞框架 尽pipe可以使用Xcode创build伞架,但对于大多数开发人员来说,这样做是不必要的,不build议使用。 苹果公司使用伞架来掩盖操作系统中的库之间的一些相互依赖关系。 几乎在所有情况下,您都应该能够将代码包含在一个标准的框架包中。 另外,如果你的代码是足够模块化的,你可以创build多个框架,但是在这种情况下,模块之间的依赖关系是最小的或不存在的,不应该为它们创build一个保护伞。 为什么这种方法不受欢迎? 是什么使它成为苹果相互依赖的框架问题的一个很好的解决scheme,但不是我的?

为什么最后要调用super-dealloc,而不是先调用?

正确的例子: – (void)dealloc { [viewController release]; [window release]; [super dealloc]; } 错误的例子: – (void)dealloc { [super dealloc]; [viewController release]; [window release]; } 同样,在重写一个方法的时候,我会首先调用super的方法实现,在这种情况下,苹果总是调用[super dealloc]。 为什么?

parsingPlist(NSString)到NSDictionary

所以我有一个plist结构string,dynamic获取(而不是从文件系统)。 我将如何将此string转换为NSDictionary。 我已经尝试转换它的NSData,然后到NSPropertyListSerialization与NSDictionary,但它会返回“[NSCFString objectAtIndex::无法识别的select器发送到实例0x100539f40”当我试图访问NSDictionary,显示我的字典没有成功创build。 NSString的例子(这是plist数据): <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Key1</key> <dict> <key>Test1</key> <false/> <key>Key2</key> <string>Value2</string> <key>Key3</key> <string>value3</string> </dict> </dict> </plist> 谢谢!

iphone sdk CGAffineTransform获取对象的旋转angular度

我如何计算任何给定对象的旋转angular度(即uiimageview)?

如何使用CaptiveNetwork获取当前的WiFi热点名称

我需要获取当前连接的Wi-Fi热点的名称,例如“BT OpenZone” 我被告知可以用CaptiveNetwork来完成,具体是CNCopyCurrentNetworkInfo 我的代码到目前为止: #import <SystemConfiguration/CaptiveNetwork.h> … // Get the dictionary containing the captive network infomation CFDictionaryRef captiveNtwrkDict = CNCopyCurrentNetworkInfo(kCNNetworkInfoKeySSID); // Get the count of the key value pairs to test if it has worked int count = CFDictionaryGetCount(captiveNtwrkDict); NSLog(@"Count of dict:%d",count); 当代码在WiFi热点设备上运行时, captiveNtwrkDict为零。 有没有人设法得到它的工作? 我无法findCaptiveNetworks上的文档或任何示例代码示例…任何帮助将不胜感激。

更改NSURLConnection的userAgent

嗨,我正在使用NSURL连接来接收数据。 [NSURLConnection sendSynchronousRequest: //create request from url [NSURLRequest requestWithURL: //create url from string [NSURL URLWithString:url] ] //request parameters returningResponse:nil error:nil ] 是否有可能更改用户代理string? 现在是: AppName / AppVersion CFNetwork / 459 Darwin / 10.0.0.d3

如何处理默认的URLscheme

我想在我的应用程序中构buildURI(或URLscheme)支持。 我在我的+ (void)initialize做了一个LSSetDefaultHandlerForURLScheme() ,并且在我的info.plist也设置了特定的URLscheme。 所以我有没有Apple Script或Apple Events URLscheme。 当我打电话myScheme:在我最喜欢的浏览器系统激活我的应用程序。 问题是,如何在被调用时处理这些scheme。 或者更好的说:当myScheme:被调用时,我怎样才能定义我的应用程序应该做什么。 是否有一个特殊的方法,我必须执行或我必须注册一个地方?

如何在iOS中添加“完成”button到数字键盘

所以,键盘键盘默认没有“完成”或“下一步”button,所以我想添加一个。 在iOS 6和更低版本中,有一些技巧可以在键盘上添加一个button,但是它们在iOS 7中似乎不起作用。 首先我订阅显示通知的键盘 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil]; 然后,我尝试在键盘显示时添加一个button: – (void)keyboardWillShow:(NSNotification *)note { // create custom button UIButton *doneButton = [UIButton buttonWithType:UIButtonTypeSystem]; doneButton.frame = CGRectMake(0, 50, 106, 53); doneButton.adjustsImageWhenHighlighted = NO; [doneButton setTitle:@"Done" forState:UIControlStateNormal]; [doneButton addTarget:self action:@selector(dismissKeyboard) forControlEvents:UIControlEventTouchUpInside]; // locate keyboard view UIWindow* tempWindow = [[[UIApplication sharedApplication] windows] objectAtIndex:1]; UIView* keyboard; for(int […]

获取CPU使用百分比

我是Objective-C的初学者,我决定尝试编写一些简单的应用程序,所以我正在尝试制作一个可以衡量CPU使用率等的应用程序。 是否有一种简单的方法来获取信息,如在Cocoa应用程序中使用Objective-C的CPU百分比使用情况? 我发现这个问题确定过程信息在Darwin / OSX中以编程方式相似,但不完全相同。 主要是我想要整个系统的CPU百分比使用率,而不仅仅是我的过程,实际上我更喜欢一个Objective-C解决scheme,而在这个问题上,海报需要别的东西。

iOS设备作为networking服务器

我看到App Store上有几个应用程序允许其他计算机与iPhone / iPad设备build立http连接来传输文件。 这似乎是一个networking服务在iOS设备上运行。 只是好奇,它怎么做/什么类被使用? 谢谢。