Существует ли версия XCode “Метода Переопределения/Реализации”?

Если вы используете MySQL 8 или более позднюю версию, могут помочь рекурсивные CTE:

CREATE DATABASE test;
USE test;
CREATE TABLE TestData (uid INTEGER, id VARCHAR(8), value INTEGER);
INSERT INTO TestData VALUES (1, 'a', 389);
INSERT INTO TestData VALUES (2, 'b', 201);
INSERT INTO TestData VALUES (3, 'c', 170);
INSERT INTO TestData VALUES (4, 'd', 550);

-- Set up an auto-incrementing row number
SET @row_num = 0;
WITH RECURSIVE cte (uid, id, value, remainder) AS (
  -- start with a copy of the table, but adding another column for the value that is at most 200
  SELECT a.uid, a.id, LEAST(a.value, 200), a.value AS "remainder" FROM TestData a
  UNION
  -- repeatedly select from the previous result set, meanwhile decrementing the "remainder" column
  SELECT uid, id, LEAST(remainder - 200, 200), remainder - 200 FROM cte WHERE remainder > 200
)
-- select the actual data that we care about
SELECT (@row_num := @row_num + 1) AS no, uid, id, value, 200 AS "cut" FROM cte ORDER BY id, value DESC;

В результате получается следующая таблица:

no | uid | id | value | cut
1  |  1  |  a |  200  | 200
2  |  1  |  a |  189  | 200
3  |  2  |  b |  200  | 200
4  |  2  |  b |    1  | 200
5  |  3  |  c |  170  | 200
6  |  4  |  d |  200  | 200
7  |  4  |  d |  200  | 200
8  |  4  |  d |  150  | 200
27
задан Cœur 24 September 2019 в 06:14
поделиться

4 ответа

С Быстрым, нажимая CTRL + ПРОСТРАНСТВО в теле класса поднимет автоматическое заполнение для методов. Только начните вводить имя метода.

при расширении класса XCode 10, кажется, автоматически не вставляет override при необходимости.

0
ответ дан 28 November 2019 в 05:32
поделиться

Это задача, для которой полезен пользовательский сценарий. Я использую тот, который я выбил в рубине.

#! /usr/bin/env ruby -w


dash="------------------------------------"
r=/(^.+);/ # find entire function definition
pr=/(\w+(:|;))/ #find named parameters to make selector style string
s=STDIN.read
s.each_line() do |l|
  m=l.match(r)
  if m
    n=l.match(/:/) 
    if n  #if the function as one or more parameters
     params=l.scan(/(\w+:)/) 
     puts m.captures[0] + "{\n\n}//"+dash + params.to_s + dash +"\n\n"
    else #method has no parameters
      puts m.captures[0]+ "{\n\n}//"+dash + m.captures[0] + dash +"\n\n"
    end 
  end
end

Чтобы использовать, выберите определение метода заголовка, запустите сценарий, переключитесь на реализацию и вставьте. Этот добавляет в мои предпочтительные комментарии к методу котел, так что вы можете настроить его по своему усмотрению.

2
ответ дан 28 November 2019 в 05:32
поделиться

Обратите внимание на Accessorizer , возможно, это не совсем то, что вы ищете, но он может помочь в других вещах, которые вам могут понравиться. Я еще не использовал его широко, но получил его как часть одного из пакетов MobileOrchard .

1
ответ дан 28 November 2019 в 05:32
поделиться

Взгляните на плагин ODCompletionDictionary для Xcode. Он позволяет вам определять расширяемые макросы, для которых можно настроить множество параметров. Это огромная экономия времени.

1
ответ дан 28 November 2019 в 05:32
поделиться