它可能很容易,但我似乎没有找到为什么URLWithString:在这里返回零.
//localisationName is a arbitrary string here
NSString* webName = [localisationName stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSString* stringURL = [NSString stringWithFormat:@"http://maps.google.com/maps/geo?q=%@,Montréal,Communauté-Urbaine-de-Montréal,Québec,Canadae&output=csv&oe=utf8&sensor=false&key=", webName];
NSURL* url = [NSURL URLWithString:stringURL];
Run Code Online (Sandbox Code Playgroud) 
在Xcode 4中,我看到了我的目标摘要:
"Version"输入对应CFBundleShortVersionString于info.plist文件,"Build"输入对应于CFBundleVersion.
这两者有什么区别?我看到互联网上有很多人想要为两者提供相同的价值,我怀疑这是为了向后兼容.
我有两个问题:
1)如果我从头开始,那么对应用程序进行版本控制的最佳做法是什么?
2)在我的应用程序的所有先前版本中,我只使用过CFBundleVersion.为了不搞乱升级过程,我应该继续以CFBundleVersion同样的方式增加,还是可以切换到"正确的方式",假设一个存在?
我想从Info.plist中读取捆绑版本信息到我的代码中,最好是作为字符串.我怎样才能做到这一点?
在Cocoa和Cocoa Touch框架中,枚举用作常量.我理解如何使用它,除了在一种情况下,您可以作为参数多个值传递给|操作符.像 :
pageControl.autoresizingMask = (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleTopMargin);
Run Code Online (Sandbox Code Playgroud)
枚举声明如下:
enum {
UIViewAutoresizingNone = 0,
UIViewAutoresizingFlexibleLeftMargin = 1 << 0,
UIViewAutoresizingFlexibleWidth = 1 << 1,
UIViewAutoresizingFlexibleRightMargin = 1 << 2,
UIViewAutoresizingFlexibleTopMargin = 1 << 3,
UIViewAutoresizingFlexibleHeight = 1 << 4,
UIViewAutoresizingFlexibleBottomMargin = 1 << 5
};
typedef NSUInteger UIViewAutoresizing;
Run Code Online (Sandbox Code Playgroud)
如何定义自己这种类型的枚举(即什么<<意思)以及如何在作为参数传递时检查倍数值?
我有两种类型的识别器,一种用于轻敲,一种用于轻扫
UIGestureRecognizer *recognizer;
//TAP
recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(numTap1:)];
[(UITapGestureRecognizer *)recognizer setNumberOfTouchesRequired:1];
[self.view addGestureRecognizer:recognizer];
self.tapRecognizer = (UITapGestureRecognizer *)recognizer;
recognizer.delegate = self;
[recognizer release];
//SWIPE RIGHT
recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeRight:)];
self.swipeRightRecognizer =(UISwipeGestureRecognizer *)recognizer;
swipeRightRecognizer.direction = UISwipeGestureRecognizerDirectionRight;
[self.view addGestureRecognizer:swipeRightRecognizer];
self.swipeRightRecognizer = (UISwipeGestureRecognizer *)recognizer;
[recognizer release];
Run Code Online (Sandbox Code Playgroud)
使用此功能,我可以禁用某些对象的点击.
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
if ((touch.view == loseView) || (touch.view == subBgView) || (touch.view == btnAgain)) {
return NO;
}
return YES;
}
Run Code Online (Sandbox Code Playgroud)
如何禁用滑动?
非常感谢!
所以我正在开发我的第一个iOS应用程序,我需要帮助..
现在简单的程序,我有9个按键,当我按下第一个按钮,或任何按钮,我只是想的第一个按钮,以突出60毫秒,unhighlight,第二个按钮的亮点,等待60毫秒,unhighlight等为其余的按钮让它看起来像一个移动的LED.
我看起来已经尝试过睡眠/睡眠,但是一旦睡眠持续时间完成,它似乎一起跳过高亮/不亮.
例如:
- (void) button_circleBusy:(id)sender{
firstButton.enabled = NO;
sleep(1);
firstButton.enabled = YES;
Run Code Online (Sandbox Code Playgroud)
等等其他按钮.它会延迟,但它不会延迟"firstButton.enabled = NO;".我为每个按钮的"禁用状态"画了一张照片,我从来没有看到它.
任何帮助表示赞赏!我已经研究过NSTimer,但我不确定如何实现它.
谢谢.
- 保罗
像许多人一样,我希望让Xcode使用一个文件夹结构来镜像磁盘上的文件夹结构.但是,我无法将"文件夹引用"(青色文件夹)中的代码显示在"编译源"下的项目目标中.有没有办法做到这一点?
我甚至设法将"青色"文件夹添加到"编译源"构建阶段,但这不会导致添加该文件夹的内容.
如何使用文件夹引用代码?
我在我的应用程序中切换了"仅在WiFi上下载".但是,这种切换对于iPod touch或WiFi-iPad来说毫无用处.
有没有办法知道设备是否具有代码中的蜂窝数据功能?将来会发挥作用的东西也会很棒(就像带有3G的iPod touch第五代产品一样).
我想在不启动模拟器的情况下使用OCUnit在Xcode 4中运行测试.请不要试图说服我,我正在进行单元测试错误或类似的事情.我喜欢用传统方式做TDD:在测试中为类编写API,然后让类通过测试.我将编写在模拟器中运行的端到端的单独测试.
如果没有办法做到这一点,那么请有人告诉我如何让测试工具不实例化整个应用程序?我的应用程序是事件驱动的,当它启动我的测试时,它会发送一堆事件.