将NSRangePointer从Objective-C转换为Swift

将某些Objective-C代码翻译成Swift时出现错误。 我正在使用- attribute:atIndex:effectiveRange:的NSAttributedString和有关effectiveRange参数,这是一个NSRangePointer 。 Objective-C的: NSRange range; id value = [self.textanalyze attribute:attribute atIndex:index effectiveRange:&range] 迅速: var range : NSRange? var value : Any = self.textanalyze.attribute(attributes, atIndex: index, effectiveRange: &range) 我有一个错误附近&range 。

Twitter /织物loginbutton只能工作一次

我正在使用Fabric Loginbutton(TWTRLogInButton, https ://dev.twitter.com/twitter-kit/ios-reference/twtrloginbutton)。 在我的Swift应用程序中,我可以validation自己,打电话和所有。 唯一的问题是,我已经实现了一个调用Twitter.logOut()的“注销”button。 按照文档( https://dev.twitter.com/twitter-kit/ios-reference/twitter )的规定,这会删除本地会话,但不会使远程会话失效。 其效果是,一旦我通过身份validation,然后注销,如果我再次点击“login”button,我再次用同一个用户login,有效地防止我切换用户。 任何帮助?

Xcode更改构build的应用程序文件夹的位置

我将.mp3存储在我的i​​OS应用程序文档目录中,并将path保存到Core Data。 当我重build应用程序Xcode似乎将应用程序数据移动到不同的目录,从而使存储的path无效。 为什么会发生这种情况,保存文件path的最佳做法是什么? 我正在使用Xcode 6.2,并且已经成功地检索过去的文件。 下载后的文件位置: in ~/Library/Developer/CoreSimulator/Devices/82D1931C-590D-45A2-AB9B-8D1D4F2530C5/data/Containers/Data/Application/ $ find . -iname p612.mp3 ./1C070BF8-0E2E-4EAC-99B6-C56E48675E6E/Documents/adf07cf85254e8f28f942f2d6fa704ae/p612.mp3 重build后文件的位置: in ~/Library/Developer/CoreSimulator/Devices/82D1931C-590D-45A2-AB9B-8D1D4F2530C5/data/Containers/Data/Application/ $ find . -iname p612.mp3 ./E6C7D0AF-E61C-4BDD-AF4B-68C445E2BB0D/Documents/adf07cf85254e8f28f942f2d6fa704ae/p612.mp3

NSDictionary`description`格式问题 – 处理类似char数据的结构

我有一个自定义的类(它类似于NSArray的概念,希望格式化的外观),它有一个description格式化程序。 当格式化程序的输出本身被打印(NSLog)时,它看起来很好,但是当它作为NSDictionary description的一个元素被包含时,NSDictionary格式程序似乎认为它是一个string,而不是一个结构定义,将它包含在引号中,并转义string中的所有控制字符。 当然,这对于一个标准的NSArray来说并不是这样,所以我想知道它是如何决定以一种方式处理string的。 例如,而不是输出如下所示: theChildren = ( { "@meta.type" = "ns3:location"; "childNumber" = 0; … 看起来像: theChildren = "( \n\t\t {\n\t \"@meta.type\" = \"ns3:location\";\n\t \"childNumber\" = 0; … 任何人都可以提出一种方法来改变这种行为? FWIW,我在NSMutableString中累积了描述string(主要由调用NSDictionary description的结果组成的数据),然后在出口处做NSString stringFromString (尽pipe我不知道那是干什么的)。 添加 我想我find了埋在NSDictionary文件中的答案(还没有检查): 讨论 返回的NSString对象包含每个字典条目的string表示forms。 descriptionWithLocale:indent:如下所示获取给定键或值的string表示forms: If the object is an NSString object, it is used as is. If the object responds […]

在“更多”部分中,didSelectViewController不会被调用

我有一个UITabBarController,我已经设置了它的委托方法didSelectViewController ,因为我感兴趣的是被选中的标签的索引。 但是,我注意到didSelectViewController方法不会被调用,当用户在“更多”部分(当有更多的选项卡可以显示在标签栏中): 有没有办法让我得到用户从正在自动创build的表中select的项目的通知?

iOS iBeacon:如何以编程方式获取所有proximityUUID?

我想以编程方式查看广告数据包的所有proximityUUID。 一些文章说,这是不可能在iOS上,但Android是可能的。 但我不能相信它,因为我发现这个梦幻般的应用程序“BLExplr”具有这个function。 我需要在我的应用程序中实现该function。 有谁知道如何做到这一点或好例子? 任何帮助将不胜感激。 (更新2014/1/17) 我相信@davidgyoung答案是正确的。 Estimote信标的proximityUUID是“B9407F30-F5F8-466E-AFF9-25556B57FE6D”,但在BLExplr应用程序上显示了我的Estimote信标的UUID是另一个ID。

接受邀请多对等连接

我希望我不会通过发布这个问题来违反NDA。 我正在使用新的多路连接,使用蓝牙发送一些文件到附近的设备。 我设法发送邀请,但我似乎并没有得到如何显示一个UIAlertView用户可以接受或拒绝邀请。 当用户发送时,文件自动保存并且没有接受/拒绝警​​报。 代码是: – (void) advertiser:(MCNearbyServiceAdvertiser *)advertiser didReceiveInvitationFromPeer:(MCPeerID *)peerID withContext:(NSData *)context invitationHandler:(void(^)(BOOL accept, MCSession *session))invitationHandler{ … save the data context 但警报: – (void) advertiser:(MCNearbyServiceAdvertiser *)advertiser didReceiveInvitationFromPeer:(MCPeerID *)peerID withContext:(NSData *)context invitationHandler:(void(^)(BOOL accept, MCSession *session))invitationHandler{ DevicePeer = [MCPeerID alloc]; DevicePeer = peerID; ArrayInvitationHandler = [NSArray arrayWithObject:[invitationHandler copy]]; // ask the user UIAlertView *alertView = [[UIAlertView […]

在iPhone中将多个图像合并为一个图像

我想合并多个不同大小和不同点的图像。 我想合并它们并保存在一个副本(图像)。 那么我怎样才能将图像合成为一个图像呢?

Swift不能使用函数指针吗?

我试图在Swift中使用C库,而且我无法调用任何函数指针作为其参数之一。 例如,我试图在Swift中使用的lua.h文件的一部分如下所示: LUA_API void (lua_setuservalue) (lua_State *L, int idx); typedef int (*lua_CFunction) (lua_State *L); LUA_API void (lua_callk) (lua_State *L, int nargs, int nresults, int ctx, lua_CFunction k); 我使用桥接头来访问库,从我的Swift代码,我可以毫不费力地调用lua_setuservalue 。 但是,如果我尝试调用lua_callk,我会得到“使用未parsing的标识符'lua_callk'”。 如果我从lua_callk声明中删除函数指针,我不会再得到这个错误。 任何帮助是相当赞赏。

iOS NSUserDefaults监视单个键值的更改

我有下面的代码旨在捕捉NSUserDefaults值为特定键更改的事件。 [[NSUserDefaults standardUserDefaults] addObserver:self forKeyPath:SOME_NSSTRING_VARIABLE options:NSKeyValueObservingOptionNew context:NULL]; – (void)observeValueForKeyPath:(NSString *) keyPath ofObject:(id) object change:(NSDictionary *) change context:(void *) context {NSLog (@"Changed for key %@", keyPath); } 但是,observeValueForKeyPath永远不会被调用。 我甚至尝试用一个stringreplaceSOME_NSSTRING_VARIABLE,正如在观察NSUserDefaults键的值更改中所提到的,但是它没有帮助。 更新:我正在改变TabView的NSUserDefaults。 上述监视更改的代码位于同一个tabviewcontroller的不同选项卡中。 在我监视更改(上面的代码存在的选项卡)的选项卡中,如果我添加一个: – (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; // NSLog(@"viewillappear"); NSUserDefaults *FUDefaults = [NSUserDefaults standardUserDefaults]; NSLog(@"The username obtained is: %@", [FUDefaults objectForKey:SOME_NSSTRING_VARIABLE]); } 已更新的NSUserDefaults值正确获得,但observeValueForKeyPath从未被调用。