小编Ste*_*han的帖子

Swift编译器错误:"框架模块内部的非模块化头"

现在我想将我的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

frameworks objective-c swift

200
推荐指数
8
解决办法
8万
查看次数

UISearchbar clearButton强制键盘出现

我有一个UISearchBar,它充当表视图的实时过滤器.当键盘通过endEditing:解除时,查询文本和灰色圆形"清除"按钮保持不变.从这里,如果我点击灰色的"清除"按钮,键盘会在文本被清除时重新出现.

我该如何防止这种情况?如果键盘当前未打开,我希望该按钮在不重新打开键盘的情况下清除文本.

当我点击清除按钮时,会调用一个协议方法.但是向UISearchBar发送resignFirstResponder消息对键盘没有任何影响.

iphone keyboard appearance uisearchbar uisearchbardelegate

44
推荐指数
4
解决办法
4万
查看次数

ARC项目中的NSTextView的IBOutlet

当你读到这里在大多数情况下,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有的类不支持弱引用,但原因是什么?

weak nstextview iboutlet automatic-ref-counting

21
推荐指数
1
解决办法
1755
查看次数

为什么在SOA设计中CRUD操作如此糟糕?

我刚读完John EvdemonMSDN上发表的一篇文章.他抨击CRUD接口并将其称为反模式.

虽然我同意有任何状态是困难的,而Current和MoveNext是不好的想法我不同意CRUD在Create Read Update和Delete中是不好的.如果我有汽车服务而且我想让客户能够做基本操作,例如创建汽车,获取汽车详细信息,更新汽车详细信息或删除汽车,那么他们如何能够做这些事情没有CRUD操作.

或者我在这里缺少什么?

soa design-patterns crud

14
推荐指数
3
解决办法
9417
查看次数

动态更改NSSplitView中视图的内容?

我有一个应用程序,其布局类似于iTunes.主窗口是NSSplitView.

根据用户在左栏中选择的内容,我需要显示不同的视图.例如,在itunes中,如果单击"音乐",则会在表格中看到歌曲列表,如果单击"电视节目",我会看到一个带有一些文本的白色屏幕.

一直试图解决这个问题,任何正确方向的指针都会非常方便!

cocoa objective-c nssplitview

9
推荐指数
1
解决办法
1946
查看次数

MacOS Swift Framework测试失败

我有一个用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)

frameworks xctest swift

9
推荐指数
3
解决办法
4148
查看次数

协议:无法在Swift中的"Y"中分配给"X"

我刚刚定义了一个非常简单的协议和一个使用泛型的类,它可以处理这个协议.

在标有错误的行中,您将收到错误:"无法在'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)

你知道为什么以及我需要改变什么来解决它?

protocols swift

6
推荐指数
1
解决办法
1087
查看次数

将UUID存储在核心数据中

在Core Data中存储UUID(用于全局多系统对象识别)的最佳方法是什么?考虑存储大小和索引功能.

理想情况下,它将存储为二进制数据(128位),但这样做有什么直接问题吗?以大小方式存储它会更有效,而不是作为NSString,但我只是想检查将其存储为二进制数据没有性能问题.它仍然可以正确索引为二进制数据吗?在可变宽度字段中存储有效的固定宽度二进制数据是否有任何缺点?

我对SQLite及其存储/索引机制并不太熟悉,所以想要寻求一些建议!

uuid core-data ios

5
推荐指数
2
解决办法
6425
查看次数

在NSOutlineView中拖放的问题

我遇到的问题是我有一个带拖放功能的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)

cocoa objective-c nsoutlineview

4
推荐指数
1
解决办法
1526
查看次数

使用CoreData中的NSOrderedSet重新排序UITableView

有没有人有使用NSOrderedSet在UITableView中进行排序的示例代码?

曾阅读过很多关于重新排序的文章,但仍然不明白如何在iOS5中做到这一点.

core-data uitableview ios5 xcode4.2

3
推荐指数
1
解决办法
1924
查看次数

-7
推荐指数
1
解决办法
1160
查看次数