我-(void)setEditing:(BOOL)editing animated:(BOOL)animated在我的代码中调用方法来交换导航栏RHS上的两个按钮.
-(void)setEditing:(BOOL)editing animated:(BOOL)animated {
[super setEditing:editing animated:animated];
// Toggle ‘+’ and ‘Add To Order’ button.
if( editing ) {
self.navigationItem.rightBarButtonItem = self.addItemButton;
}
else {
self.navigationItem.rightBarButtonItem = self.addToOrderButton;
}
}
Run Code Online (Sandbox Code Playgroud)
其中self.addItemButton和self.addToOrderButton是包含预定义UIBarButtonItems的ivars,设置为awakefromNib.
中的按钮self.addToOrderButton明显宽于中self.addItemButton,因此当触发编辑状态的更改时(通过点击editButtonItem导航LHS上的标准),我希望它们是两个宽度之间的微妙动画.
如果我周围全if:else用[UIView beginAnimations:nil context:NULL];和[UIView commitAnimations];按钮更改确实动画,但他们从左上角,而不是替代的位置,飞入个别地方,只是动画它们的宽度.
我如何设置导航栏元素的动画,以便每个人(RHS按钮,标题)以更恰当,更有限的方式生成动画?
我正在寻找一种简单的方法来在iOS 4.x设备(iPhone和iPad)上的开关状态之间切换蓝牙和wifi.
当我在不同的位置和使用场景之间移动时,我不断切换这些功能,现在它需要多次点击并访问Settings App.我希望创建一个简单的应用程序,它存在于Springboard上,我可以点击它,它将关闭wifi,如果它打开,反之亦然,然后立即退出.与用于切换蓝牙状态的App类似.
我有开发人员SDK,并且对Xcode和iOS开发很满意,所以我很乐意编写创建应用程序所需的代码.我只是不知道哪个私有或不私有API具有简单地切换这些设施的状态所需的功能.
因为这是一个非常个人化的问题,我无意尝试销售应用程序或在应用程序商店中获取它,因此符合关于API使用的应用程序指南是没有问题的.我不想做的是越狱设备,因为我想保留核心软件.
任何人都可以向我指出一些示例代码或更多关于实现这一目标的信息,因为我的Google-fu让我失望,如果有关于4.x设备的信息,我就找不到它.
在Core Data中保存通讯簿联系人时,什么被视为"最佳实践"?
我正在编写一个基于Core Data的iPhone应用程序,我需要将地址簿联系人保存和调用作为数据模型的一部分.
在UI中,我计划提供一个屏幕,用户可以从当前地址簿中选择一个联系人,创建一个新的联系人以存储在地址簿中,或者只创建一个没有保存记录的"一次性"联系人,本地到仅限应用程序.这些联系人在他们所做的订单的上下文中被跟踪,并且并非所有联系人都需要在App本身之外保存.
如果使用现有条目,则从通讯簿复制数据感觉"错误",但如果编辑或删除通讯簿记录则不确定该怎么做.
我只需要为App的目的跟踪名称和照片,所以gut-reaction是存储ABRecordID,并且 - 因为这些可以显然改变(!) - 名字和姓氏,并且只有更新本地记录才更新(如何跟踪?).
或者你可以直接存储ABRecordRef吗?(我想他们不坚持?)
我已经在Google上进行了一些搜索,但在这里找不到任何代码示例或以这种方式讨论Core Data和Address Book的集成; 在隔离的每个东西上都有很多东西.
任何有这方面经验/陷阱的人都会指出这些问题,或者指出我更多阅读的方向?
谢谢.
安迪W
我是一个以OOP术语思考的相对新手,并且尚未找到关于正确方法的"直觉".作为练习,我试图找出你在不同类型的物体之间创建线的位置,以我桌上的饮料为例.
假设我创建一个对象Drink,有喜欢的属性volume和temperature,以及类似的方法pour()和drink(),我挣扎,看到具体的饮料"类型"进来了.
说我有饮料类型Tea,Coffee或者Juice,我的第一直觉是子类,Drink因为它们有共同的属性和方法.
然后问题变成了两个Tea并且Coffee具有像sugars和milk但是Juice没有的属性,而所有三个都有variant(伯爵灰色,十分之一和橙色).
类似地,Tea并且Coffee有一个addSugar()方法,而这对于一个Juice对象没有任何意义.
这是否意味着超类应该有这些属性和方法,即使所有的子类不需要他们,或者我定义它们的子类,尤其是对像的属性variant,其中每个子类有它有自己的有效值列表?
但后来我最终得到了两个addSugar()方法,分别是子类Tea和Coffee子类.
或者给我,然后最终把所有的属性和方法上超一流的,因为大多数都至少一对夫妇饮料的类型,我不知道什么是子类在所有点之间共享?
我担心我只是想抽象太多,但如果我想添加一个新类型,例如Water- variant仍然或闪闪发光的道路,我不想回到自己的角落.
我正在使用Xcode 3.2.4并设置了Clang Static Analyzer功能以使用更新的二进制版本,详见此处:http://clang-analyzer.llvm.org/xcode.html
(基本上使用set-xcode-analyzer命令行实用程序来更改Xcode用于构建和分析的静态分析器的哪个副本.)
我无法想象的是如何设置该二进制文件以使用额外的检查,例如-analyzer-check-objc-missing-dealloc在通过Xcode使用二进制文件时,详见此处:http://loufranco.com/blog/ files/scan-build-better-than-build-analyze.html和scan-build --help.
AVAILABLE ANALYSES (multiple analyses may be specified):
(+) -analyzer-check-dead-stores
-analyzer-check-llvm-conventions
(+) -analyzer-check-objc-mem
(+) -analyzer-check-objc-methodsigs
-analyzer-check-objc-missing-dealloc
(+) -analyzer-check-objc-unused-ivars
(+) -analyzer-check-security-syntactic
NOTE: "(+)" indicates that an analysis is enabled by default unless one
or more analysis options are specified
Run Code Online (Sandbox Code Playgroud)
当通过Xcode使用时,如何将额外的选项传递给二进制文件?
iphone ×3
ios ×2
addressbook ×1
animation ×1
bluetooth ×1
cocoa-touch ×1
core-data ×1
object ×1
objective-c ×1
oop ×1
subclassing ×1
wifi ×1
xcode ×1