小编Mo *_*osa的帖子

适用于iOS/Objective-C的switch语句

假设我有一个包含五种情况的switch语句,但只调用了两种真正的方法,如下所示:

switch (condition) {
    case conditionOutcome1: 

        [self firstMethod];
        break;

    case conditionOutcome2: 
        [self secondMethod];
        break;

    case conditionOutcome3:

        [self firstMethod];
        break;

    case conditionOutcome4: 

        [self firstMethod];

        break;
    case conditionOutcome5: 

        [self secondMethod];
        break;

    default:
        break;
}
Run Code Online (Sandbox Code Playgroud)

将案件分组是否安全,如此?

    switch (condition) {

    case conditionOutcome1:
    case conditionOutcome3:
    case conditionOutcome4: 

        [self firstMethod];
        break;

    case conditionOutcome2: 
    case conditionOutcome5: 

        [self secondMethod];
        break;


    default:
        break;
}
Run Code Online (Sandbox Code Playgroud)

它工作正常,但我之前从未在objective-c中使用它,所以我想通过保存几行代码来确保我没有引起任何问题.

谢谢!

objective-c switch-statement ios

15
推荐指数
3
解决办法
3287
查看次数

iOS:回溯中的+数字值(在崩溃日志中)

我正在努力学习如何更好地理解崩溃日志,到目前为止我做得还不错.我注意到Apple的技术说明TN2151中没有解释过一部分.这是回溯的每个部分末尾的+数值.

这是一个例子:

6   UIKit    0x38bf3e7c -[UIViewController window:willAnimate:duration:] **+ 704**
Run Code Online (Sandbox Code Playgroud)

粗体部分是什么意思?

非常感谢

crash-reports backtrace ios

11
推荐指数
1
解决办法
2279
查看次数

SQL:语句触发每行的VS.

编辑:我不知道它是什么发行版,它在一篇试卷中.

遗憾的是,我只是没有得到这个.我对Row级触发器感到非常满意,但有人可以向我解释如果触发器是语句级别,结果会有什么不同吗?

关系/语句触发/行级触发

Employee(ID VARCHAR2(30), Salary NUMBER)


Create Trigger AutoRaise
After insert on Employee
Referencing new table as NT
update Employee
Set salary = salary + (select avg(salary) from NT)


Create trigger AutoRaise
After insert on Employee
Referencing new table as NT
For each Row
Update employee
Set salary = salary + (select avg(salary) from NT)
Run Code Online (Sandbox Code Playgroud)

据我所知,在每行触发器中,它会触发受触发语句影响的每一行.声明级别触发器现在会以不同方式修改结果吗?假如我在一个语句中插入了五个元组,它会为它们设置工资等吗?如果是这样,行级别触发器的好处是什么?

我试过搜索,但我无法理解它.

谢谢,

编辑:现在,我只是密集,但要么触发产生不同的输出?对于语句级别触发器,如果​​我使用示例值:

在触发器创建之前的表中:

(A,50)
Run Code Online (Sandbox Code Playgroud)

创建触发器后在一个语句中添加:

(B,70), (C,30)
Run Code Online (Sandbox Code Playgroud)

第一个触发器会设置插入每个元组的工资吗?所以第一个将变为120(平均值为50,70 + 50 = 120),第二个变为80.如果这是真的,第二个触发器的结果如何不同?

sql triggers row

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

JavaBeans:属性和属性之间有什么区别?

在我的修订列表的JavaBean部分中,它声明我应该知道"属性和属性之间的区别".我真的找不到两者之间的区别.我知道JavaBeans使用属性,而普通的Java类使用属性(或者至少就是我所教授的那些属性),但我看不出真正的区别.

它与getter/setter方法有关吗?

谢谢

java attributes properties javabeans

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

Oracle Trigger If语句条件不能以某种方式得到满足?

谢谢阅读.我目前正在为一家假想商店开发一个大约10个实体的数据库.因此,主要实体是Customer_Order,此触发器的目的是在Customer_order中插入或更新行时检查客户的邮政编码是否为空.如果为null,则触发器应该发出警告.

CREATE OR REPLACE TRIGGER Check_Order  
BEFORE INSERT OR UPDATE ON Customer_Order 
for each row
DECLARE ShipAddress customer.ship_address.post_code%TYPE;
BEGIN 
IF (ShipAddress = '') then 
RAISE_APPLICATION_ERROR(-20103, 'Shipping Address is empty');
END IF;
END; 
. 
run
Run Code Online (Sandbox Code Playgroud)

我知道没有"Else",但除了更新它所做的表之外,我没有任何其他行动.不要担心ShipAddress,我尝试使用更简单的属性,它根本不会触发.所有发生的事情是该行将被插入或更新,因此它不符合条件.我已经尝试了各种各样的方法,例如"if(Payment_No ='PAYM0001')也不起作用.是不是因为我使用的是每个而不是语句级触发器?

sql database oracle triggers

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

iOS:UITableView dataSource必须从tableView返回一个单元格:cellForRowAtIndexPath:

我已经检查了一些其他问题,但仍然无法弄清楚为什么会发生这种情况.我所知道的是在使用问题的描述代码后,单元格的值是null.我给自己定的delegatedatasourcetable正确,我看不出这是怎么回事错误.

如果我将以下方法的返回值设置为0,则不会发生错误,因为该cellForRowAtIndexPath方法实际上并未发生.因此,如果我将其设置为1(应该是),那么它将抛出错误.我已经合成NSArray并检查了它的填充(虽然这应该不重要我猜)并且基本上意味着发生的是我按下button搜索然后将结果放入table.所以在此之前tableview是空的.

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return 1;
}
Run Code Online (Sandbox Code Playgroud)

这是cellForRowAtIndexPath方法本身.我也尝试过使用基本模板方法,但仍然会抛出相同的错误.

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath     *)indexPath
    {
        static NSString *CellIdentifier = @"Cell";
        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    // Configure the cell...

    NSDictionary *aResult = [results objectAtIndex:[indexPath row]];
    NSLog(@"RESULTS IN TABLE %i", [results count ]);


    id key = [results objectAtIndex:[indexPath row]];
    resultTitle.text=@"Hello";

    NSURL *url = [NSURL URLWithString:[aResult objectForKey:@"url"]];
    NSData …
Run Code Online (Sandbox Code Playgroud)

datasource tableview ios

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

iOS:在不创建自定义单元格的情况下向UITableViewCell添加第三个标签?

我之前使用过自定义单元格,但我只想添加第三个标签(没有别的!)是否有更简单的解决方案?我想要做的就是显示标题,内容和日期.我已经将前两个设置为textLabels和detailTextLabels,但我当然需要第三个日期.

那么,如果没有自定义单元格,是否有更简单的解决方案?

谢谢

uitableview custom-cell ios

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

iOS SQLite:如何自动设置外键?

我的应用程序使用SQLite,我已经整理出create table语句.这个想法是表A和B具有一对多(或一个)关系,因此外键将在表B中.现在我知道用于创建主键的自动增量但是如何为外键工作?如果我为表A添加一行,为表B添加5行(理想情况下所有这些行都链接到表A中的那一行),该怎么办?它不会只是从表B中的001-005自动增量吗?

sqlite foreign-keys auto-increment ios

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

Oracle - ORA-01422:精确提取返回超过请求的行数

我还在为这个小型零售商店(这个场景,谢天谢地!)工作,我正在尝试用触发器解决这个问题.

相关实体是客户,付款和订单.付款是另外两个之间的链接实体,因此一个客户可以进行多笔付款,一个订单可以有多笔付款(不寻常但仍然可能),这一切都很好.

触发:

CREATE OR REPLACE TRIGGER Check_Payment_Status  
BEFORE UPDATE OF Order_Status ON Customer_Order 

for each row
  DECLARE paymentStatus payment.payment_status%type;
  BEGIN

    select payment.payment_status into paymentStatus
    from payment
    where order_no = :new.order_no;

    IF (paymentStatus ='Failed' OR paymentStatus IS NULL ) then  
      RAISE_APPLICATION_ERROR(-20103, 'The full payment has not been made so the order cannot be     processed further until then.');
      update customer_order set order_status='Delayed' where order_no= :new.order_no;
    END IF;

    IF (paymentStatus ='Successful' ) then  
      update payment set payment_date=SYSDATE where order_no= :new.order_no;
    END IF; …
Run Code Online (Sandbox Code Playgroud)

oracle triggers plsql cursor

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

iOS:向条形按钮发送多个动作

在我的应用程序中,我希望自定义一个当前显示用户位置的条形按钮,这样如果用户点击并按住它,则会显示带有其他信息的子视图.但似乎我只能发一个动作.这是绝对的情况还是有一种方法可以让我有多个动作?我知道有一个子类来启用用户定位位置(就像在地图应用程序中一样) - 我能以某种方式实现类似的功能吗?

uibarbuttonitem ios

0
推荐指数
1
解决办法
1524
查看次数