查找具有相同标题的元素并返回class-element

时间:2017-05-29 11:42:17

标签: swift class

课本是我正在努力的方向。目标是将考试块设置为true。

我尝试将liste-array中每本书的标题与我正在搜索的标题进行比较。如果找到该函数应该输出book-element,如果没有,则返回nil。

这就是我目前所拥有的:

<?php
/**
 * Copyright © 2016 Magento. All rights reserved.
 * See COPYING.txt for license details.
 */

// @codingStandardsIgnoreFile

namespace Custom\Sales\Model\Order\Pdf;

// use Magento\Eav\Model\Entity\Attribute as EntityAttribute;
// use Magento\Eav\Model\Entity\Attribute\AbstractAttribute;
// use Magento\Framework\DB\Select;
// use Magento\Framework\Model\AbstractModel;
// use Magento\Framework\App\Filesystem\DirectoryList;
// use Magento\Framework\DataObject;

/**
 * Sales Order PDF abstract model
 * @SuppressWarnings(PHPMD.ExcessiveClassComplexity)
 * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
 */
class AbstractPdf extends \Magento\Sales\Model\Order\Pdf\AbstractPdf
{

    /**
     * Insert logo to pdf page
     *
     * @param \Zend_Pdf_Page &$page
     * @param null $store
     * @return void
     * @SuppressWarnings(PHPMD.CyclomaticComplexity)
     */
    protected function insertLogo(&$page, $store = null)
    {
        echo "override";die;
    }

}

我没有任何错误,也不知道从哪里开始解决问题。

1 个答案:

答案 0 :(得分:1)

在枚举期间遇到不匹配的书名时,您的代码无效,因为您int i = (byte) (+ ((char) (- ((int) (+ ((long) (- 1))))))); -1 int -1 long -1 long -1 int --1 == +1 int 1 char 1 char 1 byte 1 int

正确的方法是在找到具有匹配标题的图书后立即返回,如果在找不到匹配的图书时返回return nil 枚举:

nil

(请注意,不需要为所有参数制作变量副本。)

如上所述,这可以简化为

func findBookWithTitle(_ title:String, inListe liste:[Book]) -> Book? {

    for i in 0..<liste.count {
        if liste[i].title == title {
            return liste[i]
        }
    }
    return nil
}

对数组使用first(where:)方法(或更一般地,对序列使用)。