Tag: objective c

如何在Objective-C中命名常量?

Objective-C中常量的命名约定是什么(或者最常用的命名方式)? extern常量是否有不同的标准? 我见过的一些风格: NSString* const kPreferenceFirstRun = @"FirstRun"; // Replace "XY" by a prefix representing your company, project or module NSString* const XYPreferenceFirstRun = @"FirstRun";

我可以钩入UISearchBar的清除button吗?

我的界面中有一个UISearchBar,我想定制一些文本input后出现在search栏中的小清除button的行为(这是一个带有十字的小灰圈,出现在右边search栏的旁边)。 基本上,我希望它不仅清除search栏的文本(这是默认的实现),而且还清除我的界面的其他东西,但调用我自己的方法之一。 我找不到UISearchBar类或UISearchBarDelegate协议的文档中的任何内容 – 它看起来不像你可以直接访问这种行为。 我注意到的一件事就是文档解释了委托方法: – (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText; 在清除button被点击之后被调用。 我最初编写了一些代码,检查search栏的文本属性,如果它是空的,那么它已被清除,并做我所有的其他东西。 这个虽然有两个问题: 首先,由于某种原因,我无法理解,即使我告诉search栏resignFirstResponder在我的方法结束,某处,将其设置回成为FirstResponder。 真的很烦人 其次,如果用户没有使用清除button,只需用键盘上的删除button删除栏中的文本,就会触发该方法,其search结果将消失。 不好。 任何意见或指针在正确的方向将是伟大的! 谢谢!

你如何显示Xcode的构build日志? (试图validationiPhone分发版本的zip是否被正确创build。)

我试图压缩我的iPhone应用程序的App Store分布。 分发说明build议查看构build日志来检查是否包含mobileprovision文件,但我不知道如何显示构build日志。 苹果的指示: 要确认您的构build是成功的,请检查以下内容: 打开Build Log详细信息视图并确认“embedded.mobileprovision”文件的存在,这会将您带到构build日志中显示供应configuration文件已成功调用的行。

如何在objective-c中绘制色轮

我正在尝试为iPhone绘制一个色轮,但是我无法使渐变旋转一个点。 我正在尝试使用渐变,但objective-c提供了一个线性渐变,它可以像这样在一条直线上绘制渐变: 和一个径向渐变,它从这个点开始绘制渐变,然后向各个方向散射出来: 我想绘制一个线性渐变,围绕这样一个点旋转:

从Storyboard实例化View Controller与创build新实例

从故事板实例化视图控制器和创build它的新实例之间的function区别是什么? 例如: #import "SomeViewController.h" … SomeViewController *someViewController = [SomeViewController new]; 与 #import "SomeViewController.h" … UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle: nil]; SomeViewController *someViewController = [storyboard instantiateViewControllerWithIdentifier:@"SomeViewController"]; 在任何情况下, someViewController有效地是相同的东西?

强/弱/保留/ unsafe_unretained / assign

综合属性的属性:保留/分配 保留 – 保留,旧值被释放并被分配 分配 – 它只被分配 所有权属性: IOS5 = strong / weak IOS4 = retain / unsafe_unretained 强(iOS4 =保留) – 我是主人,你不能在这个目标罚款之前释放这个=保留 弱(iOS4 = unsafe_unretained) – 与分配,保留或释放相同的东西 所以unsafe_unretained ==分配? @property (nonatomic, assign) NSArray * tmp; 等于? @property (nonatomic, unsafe_unretained) NSArray * tmp; 反之亦然? 如果是这样,哪一个更喜欢在iOS4,或为什么有(unsafe_unretained),如果它完全相同的分配? 并在iOS4的代表应该unsafe_unretained或分配?

核心数据的独特属性

是否有可能使核心数据属性唯一,即没有两个MyEntity对象可以具有相同的myAttribute? 我知道如何执行这个编程,但我希望有一种方法来使用xcode中的graphics数据模型编辑器。 我正在使用iPhone 3.1.2 SDK。

了解一对多核心数据删除规则

核心数据关系删除规则我有点模糊。 所以如果有人能帮我回答一些关于他们的问题。 我有实体A和B.A与B有多对多的关系,B和A有一对一的关系。 A <— >> B 现在,如果我将A的删除规则设置为Cascade,我知道它将删除与之相关的所有B。 但是如果我把它设置为Nullify,它会把Bs设置为NIL还是将外键设为Nil? 而且我到处关注着从B到A的关系,我应该把它设置为Nullify吗? 那只是在A上排除“B对象”? 或者它将否定与A有关的所有B? 怎么样Cascade? 它会删除所有与A相关的B,还是只删除B? 或者我只是在B到A的关系上使用“No Action”,所以当我删除B时,A不会发生变化,但是对B的引用将不存在? 我很高兴与这些混淆,所以请原谅我的问题。 谢谢。

在@implementation而不是@interface定义的类variables?

我是Objective-C的新手,但是对于其他地方我没有看到的东西我很好奇。 任何人都可以告诉我在@interface块中声明的私有variables与在类方法之外的@implementation块中声明的variables之间有什么区别,即: @interface Someclass : NSObject { NSString *forExample; } @end 与 @implementation Someclass NSString *anotherExample; -(void)methodsAndSuch {} @end 似乎这两个variables( forExample , anotherExample )在整个class级中都是同样可以访问的,我不能真正发现他们的行为有什么不同。 第二种forms也称为实例variables?

Xcode:无法检查应用程序包

我正在运行Xcode 6和iOS 8 GM。 每当我运行我的应用程序,我从Xcode得到这个消息: “无法检查应用程序包” 所以我可以运行和build立,我会得到的消息。 我运行并重新构build,一切按预期运行(这是我的设备)。 然后它会冲洗,重复,每隔一段时间给我这个错误。 我已经看过所有其他已经提出的解决scheme,但不能阻止这个错误。 我已经清理了我的项目,清理了构build文件夹,删除了派生数据等,没有运气。 我应该怎么看这是什么原因呢? 我感谢任何帮助。 谢谢。 编辑: 有趣的是,这只发生在我的设备上运行。 不在模拟器上。 编辑2: 更有趣的是,它只发生在我的设备,build设debugging。 如果我改变scheme释放,我可以build立和运行无止境,没有错误。 想法?