小编Man*_*ani的帖子

"where"关键字是什么意思?

我无法理解这句话的确切含义.

let x where x.hasSuffix("pepper")
Run Code Online (Sandbox Code Playgroud)

这是什么意思?

注意:没有必要let使用?这让我感到困惑..这够了x where x.hasSuffix("pepper")吗?因为,let x应该已经被分配了.

更新: 来自@Jacky在这里评论,它可能与下面的含义相同.

let x = vegetable 
if (x.hasSuffix("pepper")
 ......
Run Code Online (Sandbox Code Playgroud)

ios swift

12
推荐指数
2
解决办法
4597
查看次数

由于Swift的混乱缺乏CGFloat的隐式转换

试图在返回`CGFloat的函数中进行算术运算,我得到一个错误:

找不到接受提供的参数的'/'的重载

func kDCControlDegreesToRadians(x : CGFloat) -> CGFloat
{ 
     return (M_PI * (x) / 180.0) // error is here. 
}
Run Code Online (Sandbox Code Playgroud)

还有其他人见过这类问题吗?

types type-conversion cgfloat swift

10
推荐指数
2
解决办法
1万
查看次数

如何使用螺栓框架[Facebook + Parse]

刚才我看到Facebook发布关于IOS 螺栓框架的这一消息.

我可以将其视为主要概念:

Bolts中的第一个组件是"任务",它使复杂异步代码的组织更易于管理

但我没有得到这个.我很困惑Bolts framework.如何使用它(whether its related to web service or to JSON response parsing).

他们提供ParseObject了解析SDK的示例但我不知道它们并没有提供Xcode项目的任何示例.

Facebook 就此提供了解释.但我无法弄清楚如何与我的项目集成.

他们提供的代码非常令人困惑:

[[object saveAsync:obj] continueWithBlock:^id(BFTask *task) {
  if (task.isCancelled) {
    // the save was cancelled.
  } else if (task.error) {
    // the save failed.
  } else {
    // the object was saved successfully.
    SaveResult *saveResult = task.result;
  }
  return nil;
}];
Run Code Online (Sandbox Code Playgroud)

我们可以在这里下载bolt-framework .有人可以解释一下这个吗?

更新: 在这里我收到了一些关于螺栓新问题的答案.

示例: 假设您要加载AssertLibrary中的所有图像,并在加载时将所有图像的大小调整为标准大小,因此如果使用主线程,则会触发.在这个地方,如果你采用异步操作方式,如何使用BFTask呢?另一个例子.有一段时间,你试图用异步操作并行调用10个webservice,你怎么能在BFTask上使用GCD?

facebook ios parse-platform bolts-framework

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

数据类型后的问号(?)

这两个陈述让我感到困惑

var optionalString: String? = "Hello"
Run Code Online (Sandbox Code Playgroud)

相反,我们可以写它

var optionalString: String = "Hello"
Run Code Online (Sandbox Code Playgroud)

这两者有什么区别?

我们也可以在没有可选值的情况下执

var str: String = nil
str = "Hello"
Run Code Online (Sandbox Code Playgroud)

请澄清.

variables swift

9
推荐指数
2
解决办法
4439
查看次数

这里发生了什么?sizeof(short_int_variable + char_variable)

#include <stdio.h>
 int main()        
{

           short int i = 20;

            char c = 97;

            printf("%d, %d, %d\n", sizeof(i), sizeof(c), sizeof(c + i));
            return 0;
}
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我当sizeof(a + b)"a是短int类型&b是char类型时会发生什么"输出是:2,1,4

c variables sizeof

8
推荐指数
1
解决办法
243
查看次数

swift:无法与Interface Builder通信

我刚刚在xcode 6 beta中打开了现有项目.但它崩溃了以下错误消息.

dyld: problem loading iOS simulator dyld
2014-06-05 11:15:06.604 ibtoold[952:507] Init failed: Error Domain=IBMessageChannelErrorDomain Code=1 "Failed to communicate with Interface Builder" UserInfo=0x7fd09861dbf0 {NSLocalizedDescription=Failed to communicate with Interface Builder, NSLocalizedFailureReason=Interface Builder Cocoa Touch Tool crashed: EXC_BREAKPOINT (SIGTRAP), IBCrashLog=

Dyld Error Message:
  problem loading iOS simulator dyld
}
2014-06-05 11:15:06.605 ibtoold[952:507] [MT] DVTAssertions: Warning in /SourceCache/IDEInterfaceBuilder/IDEInterfaceBuilder-6154.17/InterfaceBuilderKit/Utilities/IBAbstractMessageChannelInterfaceBuilderToolManager.m:76
Details:  Failed to attach to Interface Builder Cocoa Touch Tool with error: Error Domain=com.apple.InterfaceBuilder Code=-1 "Encountered an error communicating with Interface Builder Cocoa Touch …
Run Code Online (Sandbox Code Playgroud)

ios swift

8
推荐指数
2
解决办法
6734
查看次数

NSString hasPrefix:具有区分大小写的功能

简单,可能会问很多时间,但这个小技巧.我们知道,NSString不适用于hasPrefix:方法的区分大小写.

NSString *string = @"Xyzabcdedfghij";
    NSString *substring = @"xyz";
    if ([string hasPrefix:substring])
        NSLog(@"string has prefix "); // won't get here.
Run Code Online (Sandbox Code Playgroud)

Question is: 是否有任何内置方法可以解决此问题?我的意思是,hasPrefix:区分大小写?

我至少可以使用以下答案.但是想知道是否有比这更好的方法..?

已知答案:(租赁案例)

if ([[test substringWithRange:NSMakeRange(0,3)] caseInsensitiveCompare:@"xyz"] == NSOrderedSame) {
     // ....
}
Run Code Online (Sandbox Code Playgroud)

objective-c nsstring ios

7
推荐指数
4
解决办法
7305
查看次数

检测何时从App Delegate通过UITabBarController按下tabBar项

我知道这个问题已被问过几次了,但是当我UITabBarControllerAppDelegate课堂上看到这个问题时,我仍然坚持这个问题.

self.tabBarController.viewControllers = 
     @[aboutUsNavController,myProfileNavController,
      projectsListNavController, feedsNavController,homeViewController];
Run Code Online (Sandbox Code Playgroud)

现在我想要的是在TabBar项目中feedsNavController 没有 进行任务viewWillAppear(因为它正在推动一个过detailViewnavigationController).

我在同一个类中设置了委托来执行UITabBarController委托方法:

 AppDelegate *appDelegate = 
         (AppDelegate *)[[UIApplication sharedApplication] delegate];
appDelegate.tabBarController.delegate = self;
Run Code Online (Sandbox Code Playgroud)

-(void) tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController只有当我切换TabBar项目时才有效,但不是第一次

我有什么方法可以打电话UITabBarDelegate:

-(void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
Run Code Online (Sandbox Code Playgroud)

为了在tabBar item按下时获得参考?

或任何其他方法将不胜感激.

objective-c uitabbarcontroller uitabbaritem uitabbar ios

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

swift:将存储的属性用作计算属性是正确的

我试图实现这个Objective-c代码

@property (strong) UIView *customView;

-(UIView*)customView
{
   if (!customView){
       self.customView = [[UIView alloc]init];
       self.customView.backgroundColor = [UIColor blueColor];
  }
   return customView;
}
Run Code Online (Sandbox Code Playgroud)

我为什么要用这个?从很多地方调用customView,所以我们必须在所有地方检查这个条件.为了避免这种重复,我写了这个.

所以我尝试创建存储的属性,并使用getter方法检查是否已创建.

var mainView : UIView? {

  get{
   if let customView = self.mainView{
        return self.mainView
   }
   var customView : UIView = UIView() 
   self.mainView = customView
   self.mainView.backgroundColor = UIColor(blueColor)
   return customView 
 }
 set{
  self.mainView = newValue
  }
}
Run Code Online (Sandbox Code Playgroud)

它是否正确?或任何其他方法来做到这一点?

注意:上述代码没有警告或错误.但与存储和计算属性混淆.请说清楚.

ios swift

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

iOS SpringBoardServices获得UIApplication

使用otool -tV SpringBoardServices命令,我能够在SpringBoardServices框架二进制中获得C函数.

我可以看到SBFrontmostApplicationDisplayIdentifier哪个会给我最重要的应用程序的ID.这个id可以用于获取UIApplication吗?最终,我想获得最顶级的视图,即消费触摸事件及其类型如UIButton等?

任何帮助赞赏.

iphone-privateapi ios

5
推荐指数
1
解决办法
656
查看次数