Tag: cocoa

是否有必要使用弱引用自我总是在块内?

我正在混淆使用块内自我,我通过一些苹果的文件,但仍然找不到正确的答案。 有些人总是说在块里面用自己弱的自己,但是有人说在被复制的块里使用弱自我,而不是永恒地使用。 样品1: self.handler = ^(id response, NSError *error) { self.newresponse = response; //use weak self here }; 样品2: 使用虚弱的自我; __weak myViewController *weakSelf = self; [UIView animateWithDuration:interval delay:0.0 options:curve animations:^ { [weakSelf.view.superview setTransform:CGAffineTransformMakeTranslation(0, -106)]; //in above is it use of weak is neassary } completion:^(BOOL finished) { }]; 没有虚弱的自我; __weak myViewController *weakSelf = self; [UIView […]

让UIView通过触摸事件?

有没有办法使UIView无响应,并通过所有的触摸事件? 基本上我只想在其他UIViews顶部显示graphics,而不会阻塞触摸事件。

为什么我不把NSInteger声明为*

我在iTunes U上试图从斯坦福大学的iPhone课程,我对指针有些困惑。 在第一个任务中,我试着做这样的事情 NSString *processName = [[NSProcessInfo processInfo] processName]; NSInteger *processID = [[NSProcessInfo processInfo] processIdentifier]; 哪一个产生了一个错误,经过盲目的调味,我发现这是NSInteger系列中的*导致的问题。 所以我显然不明白发生了什么事情。 我会解释我认为它是如何工作的,也许有人会善意指出这个缺陷。 与网站开发不同的是,我现在需要担心内存,而不是在Web开发中。 所以当我创build一个variables的时候,它被分配了一些内存(RAM我认为)。 我不是传递variables,而是传递一个指向这个位的指针。 指针是通过在variables名前加*来声明的。 假设我是对的,那么为什么我不需要为NSInteger做这件事呢?

如何使用NSDecimalNumber?

我正在构build一个需要对金钱进行计算的应用程序。 我不知道如何正确使用NSDecimalNumber,特别是如何从整数,浮点数和双精度来初始化它? 我只发现使用-decimalNumberWithString:方法很容易。 -initWith…方法是不鼓励的,所以只留下尾数,但从来没有使用过我以前使用过的7种语言中的任何一种,所以我不知道放在那里的是什么…

如何获得cocoa中的NSArray的第一个x元素?

新cocoa,似乎失去了一些东西。 获得NSArray的第一个x元素作为另一个NSArray的最优雅/惯用的方法是什么? 显然,我可以遍历它们并手动存储它们,但似乎必须有一个更标准的方法来做到这一点。 我期待有一个-arrayWithObjectsInRange:或类似的东西,但没有看到任何东西… NSArray* largeArray…// Contains 50 items… NSArray* smallArray = // fill in the blank // smallArray contains first 10 items from largeArray 谢谢!

为什么NSError需要双重间接? (指针指针)

这个概念似乎困扰着我。 为什么NSError对象需要将其指针传递给修改对象的方法? 例如,不只是传递一个错误的引用做同样的事情? NSError *anError; [myObjc doStuff:withAnotherObj error:error]; 然后在doStuff中: – (void)doStuff:(id)withAnotherObjc error:(NSError *)error { // something went bad! [error doSomethingToTheObject]; } 为什么上面的工作不像大多数其他对象消息传递模式那样工作? 为什么我们必须使用错误:(NSError **)错误?

我怎样才能旋转20度的UIImageView?

我需要做什么,如果我需要旋转一个UIImageView ? 我有一个UIImage ,我想旋转20度。 苹果公司的文档谈论了一个转换matrix,但这听起来很困难。 有没有什么有用的方法或function来实现呢?

cocoa – 修剪NSString的所有主要空白

(已经search,但无法在这里find一个简单的解决scheme,或在cocoa文档) 问:我怎样才能修剪所有领先的空白只能从NSString? (即留下任何其他空格完好无损。) 不幸的是,为了我的目的,NSString的stringByTrimmingCharactersInSet方法对于前导和尾随都起作用。 需要Mac OS X 10.4兼容性,手动GC。

在iOS和Mac OS X应用程序中使用C ++

我在C ++知识方面有点温和,但对Objective-C几乎一无所知。 我正在计划(甚至开始)学习Objective-C,所以我可以尝试编写一些iOS甚至是Mac OS X应用程序,但是我对于目前还找不到的东西感到好奇。 是否可以使用包含UI组件的C ++完全编写iOS和/或Mac OS X应用程序? 如果不可能完全用C ++来完成,那么在多大程度上可以使用C ++? 我还没有看到任何示例说明这些项目。 我打算为iOS和Android编写一些移动应用程序,并且在可能的情况下,我希望将大部分的逻辑放在C ++代码中,以实现最大的可移植性。 我已经知道我可以做到这一点,但我不确定这个程度。

何时使用静态string与#define

我有点困惑,何时最好使用: static NSString *AppQuitGracefullyKey = @"AppQuitGracefully"; 代替 #define AppQuitGracefullyKey @"AppQuitGracefully" 我已经在C或C ++中看到类似这样的问题,我认为这里的不同之处在于,这是专门针对Objective C的,利用一个对象,而在像iPhone这样的设备上,可能存在堆栈,代码空间或内存问题我还没有把握。 一个用法是: appQuitGracefully = [[NSUserDefaults standardUserDefaults] integerForKey: AppQuitGracefullyKey]; 或者这只是一个风格问题? 谢谢。