假设我有一个包含五种情况的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中使用它,所以我想通过保存几行代码来确保我没有引起任何问题.
谢谢!
我正在努力学习如何更好地理解崩溃日志,到目前为止我做得还不错.我注意到Apple的技术说明TN2151中没有解释过一部分.这是回溯的每个部分末尾的+数值.
这是一个例子:
6 UIKit 0x38bf3e7c -[UIViewController window:willAnimate:duration:] **+ 704**
Run Code Online (Sandbox Code Playgroud)
粗体部分是什么意思?
非常感谢
编辑:我不知道它是什么发行版,它在一篇试卷中.
遗憾的是,我只是没有得到这个.我对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.如果这是真的,第二个触发器的结果如何不同?
在我的修订列表的JavaBean部分中,它声明我应该知道"属性和属性之间的区别".我真的找不到两者之间的区别.我知道JavaBeans使用属性,而普通的Java类使用属性(或者至少就是我所教授的那些属性),但我看不出真正的区别.
它与getter/setter方法有关吗?
谢谢
谢谢阅读.我目前正在为一家假想商店开发一个大约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')也不起作用.是不是因为我使用的是每个而不是语句级触发器?
我已经检查了一些其他问题,但仍然无法弄清楚为什么会发生这种情况.我所知道的是在使用此问题的描述代码后,单元格的值是null.我给自己定的delegate和datasource的table正确,我看不出这是怎么回事错误.
如果我将以下方法的返回值设置为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) 我之前使用过自定义单元格,但我只想添加第三个标签(没有别的!)是否有更简单的解决方案?我想要做的就是显示标题,内容和日期.我已经将前两个设置为textLabels和detailTextLabels,但我当然需要第三个日期.
那么,如果没有自定义单元格,是否有更简单的解决方案?
谢谢
我的应用程序使用SQLite,我已经整理出create table语句.这个想法是表A和B具有一对多(或一个)关系,因此外键将在表B中.现在我知道用于创建主键的自动增量但是如何为外键工作?如果我为表A添加一行,为表B添加5行(理想情况下所有这些行都链接到表A中的那一行),该怎么办?它不会只是从表B中的001-005自动增量吗?
我还在为这个小型零售商店(这个场景,谢天谢地!)工作,我正在尝试用触发器解决这个问题.
相关实体是客户,付款和订单.付款是另外两个之间的链接实体,因此一个客户可以进行多笔付款,一个订单可以有多笔付款(不寻常但仍然可能),这一切都很好.
触发:
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) 在我的应用程序中,我希望自定义一个当前显示用户位置的条形按钮,这样如果用户点击并按住它,则会显示带有其他信息的子视图.但似乎我只能发一个动作.这是绝对的情况还是有一种方法可以让我有多个动作?我知道有一个子类来启用用户定位位置(就像在地图应用程序中一样) - 我能以某种方式实现类似的功能吗?
ios ×6
triggers ×3
oracle ×2
sql ×2
attributes ×1
backtrace ×1
cursor ×1
custom-cell ×1
database ×1
datasource ×1
foreign-keys ×1
java ×1
javabeans ×1
objective-c ×1
plsql ×1
properties ×1
row ×1
sqlite ×1
tableview ×1
uitableview ×1