我有这个UITableView与自定义单元格,只能获得预定义的值,因此我使用UIPickerView作为他们的inputView.在我编辑一个字段并需要显示其更新值之前,一切都很快乐.
为了使事情更清晰,更容易维护,我将委托和数据源作为单独的类,并使用通知使它们与tableView交互.因此,在从UIPickerView中选择一个值之后,tableView的数据源会得到通知,然后通知主ViewController,它包含对tableView的引用.从那里我打电话
[_tableView reloadData];
Run Code Online (Sandbox Code Playgroud)
一切似乎都有效,除了UIPickerView消失了,我认为因为细胞被重新生成,某些地方调用了一些resignFirstResponder,或类似的东西.是否有任何其他方法可以使tableView更新其值而无需在某个地方实现自定义方法,这会非常难看?
添加观察者是否会增加对象的保留计数?如果是,ARC是否也会处理此观察者的移除?如果没有,我应该在哪里删除观察者?
我已升级到Xcode 5.0.当我在调试模式下运行应用程序并尝试NSString在控制台中打印一个 值时,它会给我以下错误.有任何想法吗?
error: warning: couldn't get cmd pointer (substituting NULL): Couldn't load '_cmd' because its value couldn't be evaluated
Couldn't materialize struct: the variable 'stringValue' has no location, it may have been optimized out
Errored out in Execute, couldn't PrepareToExecuteJITExpression
Run Code Online (Sandbox Code Playgroud)
这是代码:
NSString *stringValue = [[self.responseArray objectAtIndex:i] valueForKey:@"merchant_name"];
Run Code Online (Sandbox Code Playgroud) 是否在Xcode 5中拖放圆形矩形按钮?我似乎无法在Interface Builder中找到它.我猜这是iOS 7中的一个变化,但我只是想确定一下.
我需要在变量值改变时执行一个函数.
我有一个包含一个名为的共享变量的单例类labelChange.此变量的值取自另一个名为的类Model.我有两个VC类,其中一个有按钮和标签,第二个只有一个按钮.
当按下第一个VC类中的按钮时,我正在用这个func更新标签:
func updateLabel(){
self.label.text = SharingManager.sharedInstance.labelChange
}
Run Code Online (Sandbox Code Playgroud)
但是每当labelChange更改值时我想调用相同的方法.因此,在按钮单击中,我将只更新labelChange值,当这件事发生时,我想用新的值更新标签labelChange.同样在第二个VC中,我可以更新labelChange值,但是当更改此值时,我无法更新标签.
也许属性是解决方案,但任何人都可以告诉我如何这样做.
第二次编辑:
单身人士课程:
class SharingManager {
func updateLabel() {
println(labelChange)
ViewController().label.text = SharingManager.sharedInstance.labelChange
}
var labelChange: String = Model().callElements() {
willSet {
updateLabel()
}
}
static let sharedInstance = SharingManager()
}
Run Code Online (Sandbox Code Playgroud)
第一个VC:
class ViewController: UIViewController {
@IBOutlet weak var label: UILabel!
@IBAction func Button(sender: UIButton) {
SViewController().updateMessageAndDismiss()
}
}
Run Code Online (Sandbox Code Playgroud)
第二个VC:
func updateMessageAndDismiss() {
SharingManager.sharedInstance.labelChange = modelFromS.callElements()
self.dismissViewControllerAnimated(true, completion: …Run Code Online (Sandbox Code Playgroud) 我将我的Xcode更新为5.0.我添加了一些库/框架搜索路径,它显示的路径是绝对路径.例如,如果我的文件夹在我的桌面上,它将显示/ Users/username/Desktop /"foldername"/"subfolder"/"subfolder"/"framework".因此,每当我在另一个mac中检出一个工作副本时,我必须删除对某些库/框架的引用并重新添加它们.是否有办法修复它,我不需要删除 - 添加再次参考?
我尝试使用添加目标 - >添加可可触摸单元测试包在Xcode 5上添加测试目标.但是,当我运行测试时,我收到以下错误:
2013-09-24 10:43:14.446 Stack Exchange [48895:c07] 加载错误 /Users/arielitovsky/Library/Developer/Xcode/DerivedData/MyApp-fjegcztcnwxqdfdimhonqzzqpdwr/Build/Products/Debug-iphonesimulator/Stack Exchange Tests.xctest /堆栈交换测试:dlopen(/ Users/arielitovsky/Library/Developer/Xcode/DerivedData/MyApp-fjegcztcnwxqdfdimhonqzzqpdwr/Build/Products/Debug-iphonesimulator/Stack Exchange Tests.xctest/Stack Exchange Tests,262):库未加载: /Developer /Library/Frameworks/XCTest.framework/XCTest引自:/ Users/arielitovsky/Library/Developer/Xcode/DerivedData/MyApp-fjegcztcnwxqdfdimhonqzzqpdwr/Build/Products/Debug-iphonesimulator/Stack Exchange Tests.xctest/Stack Exchange测试原因:找不到图像IDEBundleInjection.c:加载包 '/ Users/arielitovsky/Library/Developer/Xcode/DerivedData/MyApp-fjegcztcnwxqdfdimhonqzzqpdwr/Build/Products/Debug-iphonesimulator/Stack Exchange Tests.xctest'程序以退出代码结束时出错:0
为什么这不起作用?
我正在开发一个应用程序,我通过代码绘制UIView,然后用UIColor填充它.接下来我想加载一个mask.png文件(没有透明度,只是黑白),并掩盖UIView来改变它的视觉外观.
知道怎么做吗?
我有一个包含在导航控制器中的表视图控制器.导航控制器似乎在通过表格视图控制器呈现时自动将正确的内容插入应用于表视图控制器presentViewController:animated:completion:.(任何人都可以向我解释这是如何工作的吗?)
但是,只要我将组合包装在自定义容器视图控制器中并显示该组合,表视图内容的最顶部就会隐藏在导航栏后面.为了在此配置中保留自动内容插入行为,我能做些什么吗?我是否必须在容器视图控制器中"通过"某些内容才能使其正常工作?
我想避免手动或通过自动布局调整内容,因为我想继续支持iOS 5.
在其中一个WWDC 2012视频,Auto Layout By Example中,他们使用Autolayout演示了一个OS X应用程序,在大约7或8分钟时,他展示了如何在单个视图中取消选中Attributes Inspector中的一个框,以及这个盒子被称为"将面膜自动化为约束".现在,我很清楚这个盒子的代码等价,translatesAutoresizingMaskIntoConstraintsboolean,但我似乎无法在iOS或OS X项目中的任何位置找到此复选框.我的项目使用Autolayout.我真的很想要这个复选框,因为我在学习Autolayout(以及将spring/struts应用程序转换为AL)时遇到的困难之一是Xcode为每个视图生成的百万限制,以及如何清理它们并明智地覆盖它们代码中的部分/全部.为了一次转换一个视图,我想要的是关闭那些自动生成的约束.
为什么我看不到这个复选框?我正在使用Xcode 4.6.
ios ×8
objective-c ×3
xcode5 ×3
ios7 ×2
iphone ×2
xcode ×2
autolayout ×1
cocoa ×1
cocoa-touch ×1
frameworks ×1
macos ×1
masking ×1
properties ×1
search-path ×1
singleton ×1
swift ×1
uibutton ×1
uitableview ×1
uiview ×1
unit-testing ×1
xctest ×1