小编Dru*_*erB的帖子

多个 if 语句的替代方案

我的代码包含很多多条if语句。有没有其他方法可以摆脱这些陈述。例如假设我有以下条件

if(t1 >= 1 && t2 == 0 && t3 == 0) $('div.b_class').fadeIn();
if(t1 == 0 && t2 >= 1 && t3 == 0) $('div.c_class').fadeIn();
if(t1 == 0 && t2 == 0 && t3 == 1) $('div.d_class').fadeIn();
if(t1 && t2 >= 1 && t3 == 0) $('div.b_class.c_class').fadeIn();
if(t1 && t3 >= 1&& t2 == 0) $('div.b_class.d_class').fadeIn();
Run Code Online (Sandbox Code Playgroud)

有什么办法可以简化这些语句吗?

javascript jquery if-statement conditional-statements

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

为什么Objective-C允许成功调用null对象?

有什么用(除了非碰撞部分)?我想知道这种设计背后的思维过程.

null objective-c nullpointerexception

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

存储精灵套件级别数据

我正在进行一个项目,其中一组目标出现在屏幕上.目标应该同时出现一定量,并且每次出现之间有一定的延迟.我的问题是如何正确存储此游戏的关卡数据.我正在考虑使用csv文件来存储关卡数据(目标类型,位置,延迟等),但我想知道是否有更好的方法来实现它.我还考虑过制作一个水平对象来存储关卡信息,但我不确定.Apple说使用'精灵节点存档',但我似乎无法找出这意味着什么.有什么想法吗?

iphone objective-c ios sprite-kit

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

如何在Objective-C中实现多级委托

我有4个班级(观点):
A,B,C和D.

A类呼叫B,B呼叫C,C呼叫D:
A> B> C> D.

在类DI中已经实现了委托协议,我想在A类中捕获委托事件.

我怎样才能做到这一点?

iphone objective-c ios ios5

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

Evaulate NSString并作为Objective-C代码执行

这可能是一个完全荒谬的问题,但是有可能使用a NSString作为代码行的替代品吗?

for (int i = 0; i < 10: i++){    
    NSString *cam = @"locXCamProfileSwitch";
    ["%@", cam setOn:YES];
]
Run Code Online (Sandbox Code Playgroud)

也有可能将索引i汇入更换X

loops concatenation objective-c nsstring

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

从Objective-C运行shell脚本

我正在尝试运行一个shell脚本NSTextView.我知道我可以NSTask用来做这个,但我想知道最好的方法是什么,如果脚本只存在于内存(文本视图)中但不存在于磁盘上.

我应该暂时将其写入磁盘或以某种方式直接将其作为字符串运行吗?

我传递给哪些参数NSTask?我是否必须提取shebang线并将其传递给它launchPath

bash shell objective-c shebang

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

NSAttributedString在基于视图的NSOutlineView中呈现为普通字符串吗?

我正在尝试向基于视图的NSOutlineView中的单元格添加一些格式。无论我尝试什么,都将以我指定的任何格式呈现文本。这是我目前的方法:

NSMutableAttributedString *versionString = [[NSMutableAttributedString alloc] 
                                             initWithString:myString];
[versionString addAttribute:NSForegroundColorAttributeName 
                      value:[NSColor redColor] range:NSMakeRange(0, 3)];

NSTableCellView result = [outlineView makeViewWithIdentifier:@"DataCell" 
                                                       owner:self];
result.textField.allowsEditingTextAttributes = YES;
result.textField.attributedStringValue = versionString;
Run Code Online (Sandbox Code Playgroud)

是否无法在NSOutlineView和标准NSTextField中呈现属性字符串?

cocoa objective-c nsoutlineview nstableview nsattributedstring

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

UIGestureRecognizer无法识别

我试图创建一个应该可拖动的标签.但是被拖动的事件没有被触发(用断点检查).下面是代码.

 - (IBAction)InsertText:(UIBarButtonItem *)sender {

    UILabel *lblWatermark = [[UILabel alloc] initWithFrame:currentImage.frame];
    lblWatermark.text = @"Copyright";
    lblWatermark.userInteractionEnabled = YES;
    [lblWatermark sizeToFit];


    UIPanGestureRecognizer *gesture = [[UIPanGestureRecognizer alloc]
                                       initWithTarget:self
                                       action:@selector(labelDragged:)];
    [lblWatermark addGestureRecognizer:gesture];
    [currentImage addSubview:lblWatermark];
}
- (void)labelDragged:(UIPanGestureRecognizer *)gesture
{
    UILabel *label = (UILabel *)gesture.view;
    CGPoint translation = [gesture translationInView:label];

    // move label
    label.center = CGPointMake(label.center.x + translation.x,
                               label.center.y + translation.y);
        [gesture setTranslation:CGPointZero inView:label];
}
Run Code Online (Sandbox Code Playgroud)

先感谢您,

cocoa-touch uilabel ios

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

使用NSPredicate过滤NSArray

我想根据或以某些字符串开头过滤一个User对象数组(Userfullname,user_id以及一些更多属性..). 我知道如何根据一个条件过滤: firstNamelastName

NSPredicate* predicate = [NSPredicate predicateWithFormat:@"firstName BEGINSWITH[cd] %@", word];
NSArray* resArr = [myArray filteredArrayUsingPredicate:predicate];  
Run Code Online (Sandbox Code Playgroud)

这将为我提供具有以"word"开头的firstName的所有用户.
但是如果我希望所有拥有firstName或lastName以"word"开头的用户怎么办?

iphone objective-c nsarray nspredicate ios

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

在Xcode 4.5中开发的iOS应用程序在iOS 6上运行良好,但在iOS 5上崩溃

我有一个使用Xcode Version 4.5.1开发的iOS应用程序.我的iOS部署目标设置为5.0,因为我希望该应用程序能够在iOS 5.0,5.1和6.0上运行.

当我在iOS 6设备(或模拟器)上运行应用程序时,一切正常.当我在iOS 5设备(或模拟器)上运行应用程序时,应用程序在UIApplicationMain中崩溃.我可以通过应用程序:didFinishLaunchingWithOptions:并且它似乎正在成功执行.这是堆栈跟踪:

堆栈跟踪图像

如果它有帮助,这是寄存器:

(lldb) register read
General Purpose Registers:
       eax = 0x06e5f590
       ebx = 0x01226f9c  "class"
       ecx = 0x0733fb8c
       edx = 0x0733fb90
       edi = 0x0011d814  (void *)0x0011d800: TRAppDelegate
       esi = 0xbffff310
       ebp = 0xbffff2e8
       esp = 0xbffff2a0
    eflags = 0x00000286
       eip = 0x00002b3d  Messenger`main + 141 at main.m:16
6 registers were unavailable.

(lldb) 
Run Code Online (Sandbox Code Playgroud)

回溯:

    (lldb) bt
* thread #1: tid = 0x1c03, 0x01211caa libobjc.A.dylib`objc_exception_throw, stop reason = breakpoint 1.3 2.3
    frame #0: 0x01211caa libobjc.A.dylib`objc_exception_throw
    frame …
Run Code Online (Sandbox Code Playgroud)

xcode ios ios5 ios6 xcode4.5

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