Tag: objective c

URLWithString:返回nil

这可能很容易,但我似乎没有find为什么是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];

如何在xcode中以编程方式将操作添加到button中

我知道如何通过从界面生成器拖动来添加一个IBAction到一个button,但我想以编程的方式添加这个动作来节省时间,并避免不断地来回切换。 解决scheme可能非常简单,但是当我search它时,我似乎无法find任何答案。 谢谢!

在哪里定义了$ {EXECUTABLE_NAME}和$ {PRODUCT_NAME}

我在哪里可以find如何修改这些信息 ${EXECUTABLE_NAME} ${PRODUCT_NAME} 这些仅显示在.plist文件中,但实际值在哪里。 如果我们可以在.plist中直接修改我们想要的,为什么我们需要这些。 我是新的,这就是为什么我有问题了解这些,我也看着苹果信息属性列表的关键引用,但没有find这些$ {}值。

BOOL的默认值

Objective-C中BOOLvariables的默认值是多less?

为什么Objective-C方法名称的最后一部分需要参数(当有多个部分时)?

在Objective-C中,不能声明最后一个组件不带参数的方法名称。 例如,以下是非法的。 -(void)take:(id)theMoney andRun; -(void)take:(id)yourMedicine andDontComplain; Objective-C为什么这样devise? 这仅仅是一个Smalltalk的人造产品,没有人看到需要摆脱? 这个限制在Smalltalk中是有意义的,因为Smalltalk没有围绕消息调用的分隔符,所以最终的组件将被解释为最后一个参数的一元消息。 例如, BillyAndBobby take:'$100' andRun将被parsing为BillyAndBobby take:('$100' andRun) 。 Objective-C中的方括号是必需的。 支持无参数的select器组件不会在所有测量语言的通常方式中获得很多,因为程序员select的方法名称(例如runWith:而不是take:andRun )不会影响程序的function语义,也不会影响程序的function语义语言的performance力。 事实上,一个带有无参数组件的程序是alpha相当于一个没有。 因此,我对那些没有必要声明这样一个特性的答案并不感兴趣(除非Objective-Cdevise者声明的原因,是否有人知道Brad Cox或Tom Love?他们在这里?)或者说如何编写方法名称,以便不需要该function。 主要的好处是可读性和可写性(就像可读性,只有…你知道),因为这意味着你可以写出更接近自然语言句子的方法名称。 -(BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication*)theApplication Matt Gallagher 在“Cocoa With Love”中指出有点混乱,当你放弃正式参数时)可以被命名为-(BOOL)application:(NSApplication*)theApplication shouldTerminateAfterLastWindowClosed ,从而将参数紧靠在适当的名词旁边。 苹果的Objective-C运行时(例如)完全能够处理这些types的select器,为什么不编译器? 为什么不在方法名称中支持它们呢? #import <Foundation/Foundation.h> #import <objc/runtime.h> @interface Potrzebie : NSObject -(void)take:(id)thing; @end @implementation Potrzebie +(void)initialize { SEL take_andRun = NSSelectorFromString(@"take:andRun"); IMP take_ = […]

在Objective-C中将类的实例投射到@protocol

我有一个对象(一个UIViewController)可能会或可能不符合我定义的协议。 我知道我可以确定对象是否符合协议,然后安全地调用方法: if([self.myViewController conformsToProtocol:@protocol(MyProtocol)]) { [self.myViewController protocolMethod]; // <– warning here } 但是,XCode显示一个警告: warning 'UIViewController' may not respond to '-protocolMethod' 什么是防止此警告的正确方法? 我似乎无法将self.myViewController作为MyProtocol类。

在iOS中创build一个整数数组

如果你想制作一个整数数组,你可以使用NSInteger吗? 你必须使用NSNumber吗? 如果是的话,那为什么?

如何使UILabel显示概述文本?

我想要的是我的白色UILabel文本的一个像素的黑色边框。 我使用下面的代码对UILabel进行了子类化,这些代码是我从一些切线相关的在线示例中笨拙地拼凑而成的。 它的工作原理非常非常缓慢(除了在模拟器上),我也无法让它垂直居中文本(所以我暂时将最后一行的y值硬编码)。 哈啊! void ShowStringCentered(CGContextRef gc, float x, float y, const char *str) { CGContextSetTextDrawingMode(gc, kCGTextInvisible); CGContextShowTextAtPoint(gc, 0, 0, str, strlen(str)); CGPoint pt = CGContextGetTextPosition(gc); CGContextSetTextDrawingMode(gc, kCGTextFillStroke); CGContextShowTextAtPoint(gc, x – pt.x / 2, y, str, strlen(str)); } – (void)drawRect:(CGRect)rect{ CGContextRef theContext = UIGraphicsGetCurrentContext(); CGRect viewBounds = self.bounds; CGContextTranslateCTM(theContext, 0, viewBounds.size.height); CGContextScaleCTM(theContext, 1, -1); CGContextSelectFont […]

“从视图控制器”消失使用UIViewControllerContextTransitioning

我有一个问题,我已经在下面描述。 我正在使用UIViewControllerContextTransitioning自定义转换。 我有2个视图控制器,第一个视图控制器和第二个视图控制器。 现在我想在animation的第一个视图控制器上添加secondview控制器。 我已经实现了,现在我有了secondview控制器透明,所以我们可以看到secondview控制器下面的第一个视图控制器。 但是我不能够看到第一个视图控制器,我只能看到第二个视图控制器下面的黑屏。 这是代码。 -(void)animateTransition:(id<UIViewControllerContextTransitioning>)transitionContext{ self.transitionContext = transitionContext; if(self.isPresenting){ [self executePresentationAnimation:transitionContext]; } else{ [self executeDismissalAnimation:transitionContext]; } } -(void)executePresentationAnimation:(id<UIViewControllerContextTransitioning>)transitionContext{ UIView* inView = [transitionContext containerView]; UIViewController* toViewController = [transitionContext viewControllerForKey:UITransitionContextToViewControllerKey]; UIViewController* fromViewController = [transitionContext viewControllerForKey:UITransitionContextFromViewControllerKey]; CGRect offScreenFrame = inView.frame; offScreenFrame.origin.y = inView.frame.size.height; toViewController.view.frame = offScreenFrame; toViewController.view.backgroundColor = [UIColor clearColor]; fromViewController.view.backgroundColor = [UIColor clearColor]; inView.backgroundColor […]

XCode / Simulator:如何运行较旧的iOS版本?

我正在考虑升级到iOS SDK 4.2。 但是我想知道的是,如果我仍然能够运行模拟器为iOS 3.2。 这是因为我正在为iPad创buildiAds,但是我仍然要检查我的程序是否将在iOS 3.2中运行。 注意:过去我曾经见过类似的post,但是他们并没有真正帮助我们完成这个过程。 提前致谢!