现在我想将我的ObjC框架迁移到Swift,我收到以下错误:
include of non-modular header inside framework module 'SOGraphDB'
Run Code Online (Sandbox Code Playgroud)
引用是一个头文件,它只定义一个协议,我在一些类中使用这个头文件来使用这个协议.
似乎与模块功能有关,但目前还不太清楚如何修复,你知道一个解决方案吗?
更新:
这是一个Swift编译器错误.
更新2:
快速修复(但不解决根本原因)是将以下设置设置为yes:CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES
我有一个UISearchBar,它充当表视图的实时过滤器.当键盘通过endEditing:解除时,查询文本和灰色圆形"清除"按钮保持不变.从这里,如果我点击灰色的"清除"按钮,键盘会在文本被清除时重新出现.
我该如何防止这种情况?如果键盘当前未打开,我希望该按钮在不重新打开键盘的情况下清除文本.
当我点击清除按钮时,会调用一个协议方法.但是向UISearchBar发送resignFirstResponder消息对键盘没有任何影响.
当你读到这里在大多数情况下,IBOutlet应该是弱.
现在,您可以在开发库中阅读并非所有类都支持弱引用.(例如NSTextView).这意味着您必须使用assign:
@property (assign) IBOutlet NSTextView *textView;
Run Code Online (Sandbox Code Playgroud)
如果使用弱引用,您将收到以下错误:"不允许合成弱不可用属性,因为它需要合成__weak对象的ivar"
文档错过的内容是现在你必须在使用后再将属性设置为nil,例如通过一种dealloc方法:
- (void)dealloc
{
self.textView = nil;
}
Run Code Online (Sandbox Code Playgroud)
据我所知,标NS_AUTOMATED_REFCOUNT_WEAK_UNAVAILABLE有的类不支持弱引用,但原因是什么?
我刚读完John Evdemon在MSDN上发表的一篇文章.他抨击CRUD接口并将其称为反模式.
虽然我同意有任何状态是困难的,而Current和MoveNext是不好的想法我不同意CRUD在Create Read Update和Delete中是不好的.如果我有汽车服务而且我想让客户能够做基本操作,例如创建汽车,获取汽车详细信息,更新汽车详细信息或删除汽车,那么他们如何能够做这些事情没有CRUD操作.
或者我在这里缺少什么?
我有一个应用程序,其布局类似于iTunes.主窗口是NSSplitView.
根据用户在左栏中选择的内容,我需要显示不同的视图.例如,在itunes中,如果单击"音乐",则会在表格中看到歌曲列表,如果单击"电视节目",我会看到一个带有一些文本的白色屏幕.
一直试图解决这个问题,任何正确方向的指针都会非常方便!
我有一个用obj-c和swift编写的框架.
现在我尝试运行相关的单元测试目标,但是我收到了这个错误:
2014-07-10 07:45:54.064 xctest[4908:303] The test bundle at /Users/steve/Temporary/Build/Products/Debug/SOGraphDB-Mac Tests.xctest could not be loaded because an unanticipated error occurred: Error Domain=NSCocoaErrorDomain Code=3587 "The bundle “SOGraphDB-Mac Tests” couldn’t be loaded because it is damaged or missing necessary resources." (dlopen_preflight(/Users/steve/Temporary/Build/Products/Debug/SOGraphDB-Mac Tests.xctest/Contents/MacOS/SOGraphDB-Mac Tests): Library not loaded: @rpath/libswiftAppKit.dylib
Referenced from: /Users/steve/Temporary/Build/Products/Debug/SOGraphDB.framework/Versions/A/SOGraphDB
Reason: image not found) UserInfo=0x10011c640 {NSLocalizedFailureReason=The bundle is damaged or missing necessary resources., NSLocalizedRecoverySuggestion=Try reinstalling the bundle., NSFilePath=/Users/steve/Temporary/Build/Products/Debug/SOGraphDB-Mac Tests.xctest/Contents/MacOS/SOGraphDB-Mac Tests, NSDebugDescription=dlopen_preflight(/Users/steve/Temporary/Build/Products/Debug/SOGraphDB-Mac Tests.xctest/Contents/MacOS/SOGraphDB-Mac Tests): Library not loaded: @rpath/libswiftAppKit.dylib
Referenced from: /Users/steve/Temporary/Build/Products/Debug/SOGraphDB.framework/Versions/A/SOGraphDB
Reason: image …Run Code Online (Sandbox Code Playgroud) 我刚刚定义了一个非常简单的协议和一个使用泛型的类,它可以处理这个协议.
在标有错误的行中,您将收到错误:"无法在'aObj'中分配给'flag'.
protocol Flag {
var flag: Bool {get set}
}
class TestFlag<T: Flag> {
func toggle(aObj: T) {
if aObj.flag {
aObj.flag = false; // <--- error
} else {
aObj.flag = true; // <--- error
}
}
}
Run Code Online (Sandbox Code Playgroud)
你知道为什么以及我需要改变什么来解决它?
在Core Data中存储UUID(用于全局多系统对象识别)的最佳方法是什么?考虑存储大小和索引功能.
理想情况下,它将存储为二进制数据(128位),但这样做有什么直接问题吗?以大小方式存储它会更有效,而不是作为NSString,但我只是想检查将其存储为二进制数据没有性能问题.它仍然可以正确索引为二进制数据吗?在可变宽度字段中存储有效的固定宽度二进制数据是否有任何缺点?
我对SQLite及其存储/索引机制并不太熟悉,所以想要寻求一些建议!
我遇到的问题是我有一个带拖放功能的NSOutlineView(请参阅帖子底部的代码以进行拖放工作),它可以正常工作,但是当我将一行拖到另一行时,拖动的行会成为一个孩子,但它也保持它作为父母的位置,当我删除任一行时,它们都被删除.为了告诉你我的意思,我已经记录了这个问题,这里是链接 - http://dvlp.me/6kya9
这是在大纲视图中进行拖放工作的代码.
头文件.
@interface _NSControllerTreeProxy : NSObject
{
// opaque
}
//
// Number of objects at the root level.
//
- (unsigned int)count;
- (id)nodeAtIndexPath:(id)fp8;
- (id)objectAtIndexPath:(id)fp8;
@end
@interface _NSArrayControllerTreeNode : NSObject
{
// opaque
}
- (unsigned int)count;
- (id)observedObject;
- (id)parentNode;
- (id)nodeAtIndexPath:(id)fp8;
- (id)subnodeAtIndex:(unsigned int)fp8;
- (BOOL)isLeaf;
- (id)indexPath;
- (id)objectAtIndexPath:(id)fp8;
@end
// some more detailed reverse engineering is available here
// http://www.blueboxmoon.com/wiki/?page=Binding%20Tree
@interface DragController : NSObject
{
IBOutlet NSTreeController *groupTreeControl;
IBOutlet NSOutlineView *treeTable; …Run Code Online (Sandbox Code Playgroud) 有没有人有使用NSOrderedSet在UITableView中进行排序的示例代码?
曾阅读过很多关于重新排序的文章,但仍然不明白如何在iOS5中做到这一点.
objective-c ×4
cocoa ×3
swift ×3
core-data ×2
frameworks ×2
appearance ×1
crud ×1
iboutlet ×1
ios ×1
ios5 ×1
iphone ×1
keyboard ×1
nssplitview ×1
nstextview ×1
protocols ×1
soa ×1
uisearchbar ×1
uitableview ×1
uuid ×1
weak ×1
xcode4.2 ×1
xctest ×1